"DDD" Chapter 4 -The Smart Ui "Anti-Pattern" describes the advantages and disadvantages of unworthoped domain models (or even logical in UI). Advantages
Productivity Is High And Immediate for Simple Applications.
· Less Capable Developers Can Work this Way with little training.
· Even deficiencies in Requirements Analysis Can Be overcome by Release And the Quickly Changing The Product to Fit Their Requests.
· Applications Are DECOUpled from Each Other, SO That Delivery Schedules of Small Modules Can Be Planned Relative Modules Can Be Planned Relative The System with Additional, Simple Behavior Can Be Easy.
· RELATIONAL DATABASES WORK WELL AND PROVIDE INTEGRATION THE DATA Level.
4GL Tools Work Well.
· When Applications Are Handed Off, Maintenance Program Will Be Able To Quickly Redo Portions The CAN't Figure Out, Because The Effects of The Changes Should Be Localized to Each Particular UI.
Disadvantages
· Integration of Applications Is Difficult Except Through The Database.
· There is no reuse of behavior and no abstract of the business problem. Business rules have to be duplicated in each Operation to which the apply.
• Rapid Prototyping and Iteration Reach a Natural Limit Because The Lack of Abstract Limits Refactoring Options.
· Complexity Buries You Quickly, So The Growth Path Is Strictly Toward Additional Simple Applications. There is no graceful path to richer behavior. "
It is used to summarize the supply chain system of my current company, and it is right. The current entire supply chain consists of multiple subsystems, and there is no direct communication between the system, mainly in the database level. Each system has just turned from VB to a C / S structure this year (mainly Remoting Facade), which is generally used .NET Example Duwamish architecture (Table Model). Because the entire system has been used for a long time, the database is quite large, business logic is quite dispersed, and the entire system is basically DB Centric, maintenance, and expansibility is not ideal. Such a status quo, I think about the company's rapid development at the beginning of the company, the system needs to be implemented quickly, and the investment in system construction is quite limited. Although there are a lot of system problems, there is no doubt that such systems have accelerated the company's business development in the past few years.
With the further development of the business, I think the competitiveness of the system that is displayed in such a structure will become weaker and weak, and even a bottleneck that restricts business development. The greater the business, the more complex the business, the larger the cost of the system maintenance, and the main energy of the developer will be placed on the system maintenance. The new business cannot be implemented quickly to the system, the human investment of business people and developers will also be high.
It is not the most difficult building in flat, it is more difficult to completely change the such large system to another architecture. It feels like the planned economy reform into a market economy. I don't know how to make a process for an enterprise-level system. However, you can expect it.
l The change of the operation process directly affects the interface user experience. Users may have become accustomed to the old unreasonable or inefficient interface operations and processes, which will bring pain to them, but will soon be attracted by new systems.
l The entire system has a unified plan, not each Team's own operations. Improve the reuse of internal components and inter-system services, improve development efficiency and quality.
l System architecture development to the SOA direction, implementing the business process Engine unified management business process
l Analyze Designers, establish a business model -> Business model-> Run-Time Model & DB Model, the entire development based on model driver, communication between teams and subsequent maintenance is also based on model.
l Developers need a stronger OO foundation, reduce the coupling degree of the system and the coupling between the system, and construct the Robust system.
l The migration of the database, even if the O / R mapping, the database is still unable to perform local redesign, the current DB Centric system is used to dominate the architecture of Domain Model Centric, and the database migration is undoubtedly a huge project.
l The most difficult processed is the transition implementation of the system. Multiple subsystems are synchronized with a single step transition, and the communication management and business units will be a daunting task.
Finally, the new system has been successfully implemented, and after many years, it will not be able to develop the business, so it will reform again.