This essay will put forward two design arguments, which have already been mentioned in previous essays, but are not clearly stated.
The thesis also hopes that the philosophy of software design should be further developed.
One project, two kinds of data access
In software architecture design, using persistence, a project usually requires two kinds of data access mechanism, the business process uses the entity mapping data access mechanism, the query list and the report uses the traditional Native database query statement's data access mechanism.
Design patterns, divided into architectural patterns and business models
With the development of the Times, access to the Internet era, software systems are increasingly large, programmers also began to work together, programmers using the same programming language may be in the technical direction of a great difference.
Programmers are good at building the overall architecture, they often in general to plan the direction of software products development, but also technically to achieve the possibility of such product planning, they are not only good designers, but they are often a group of visionary programmers-software architect
Programmers are good at business functions of the design and implementation, but also can transform the requirements of the software system UML diagrams and models, they often have a strong software design capabilities, but also know how to implement their design-software designers
The same principle of design, because different people, may have different meanings.
For example, dependency inversion, the concept of software architects is likely to be between the logical level, and the designer may more consider a layer of dependencies between the classes.
So design patterns in this era, there is a new classification, is the architecture mode or business model.
2015 Software Design argument summary