Flexible software can better adapt to user needs. What kind of software is flexible?
Once a user asks for flexibility, the designer often thinks of a countermeasure: adding configuration. Add function configurations in different business links. If flexibility is required, write the configurations. Configuration provides countless possibilities for software systems-flexibility. However, configurations are often complex and out of control. Many configuration items have lost their business meaning and become a mathematical arrangement and combination. According to some configuration routes, the business cannot form a closed-loop process and enter a dead end.
Such a system, maintenance configuration and MaintenanceProgramItself is as complicated. Configuration does not need to be compiledCode.
In fact, the maximum flexibility of software comes from the complete business model. A complete business model that does not require gorgeous technologies-design patterns, advanced platforms, and clever ideas-is not important. It is important that business models reflect the real world.
If there are "customers" in the real world, there must be "customers" in the software world. If there are "bills" in the real world, there must be "bills" in the software world ", in the real world, customers can buy things. In the software world, the customer has a "buy" method. The parameter is order ......
By imagining these basic business models, you can find that the specific business needs are very convenient. Just like building a house with building blocks, you only need to write some glue code and assemble the business objects.
Will the business model change? Of course. However, the business will never be changed out of the box or without reason. The changes in the business model must be something new and changed on the original basis. A business model can well control the scope of the impact of changes. To reduce the impact of such changes on the model, various technologies can be launched-design patterns, refactoring ......
There is a business model. Even a very simple business model can bring great flexibility to the program. You can add configuration in the glue code. This configuration is easier to work closely with your business needs and truly plays a role. You can also expose business objects to the script engine and use the script program to implement some functional requirements.