Today is Saturday, originally said overtime, but the manager has not arrived, so take advantage of this time, read the book. Time, can seize a little, never let go. Hope in the near future, my technical level can have a big progress, seek progress is my most hope to get happiness. You, what are you waiting for?
This chapter, looked at the directory, should not be some basic knowledge, provoked the problem of design and architecture. I am more interested in this topic.
Notes
1, for the design, perhaps never the only answer, you can only unlimited close to the best.
2, design principle is the soul of design, and design pattern is the template of system development. These object-oriented ideas and applications come from practice and are perfected in refactoring.
3, in the broad concept of design, several necessary concepts need to understand: face object, service oriented (WCF), framework (infrastructure), design principles (Five Principles), design patterns (23, you can choose key Learning, in-depth mastery of--abstract factory,iterator, Singleton,adapter,decorator,observer,facade,template,command), outside of the pattern (except for the basic 23 types, there are some other modes)
4, re-design the field, you do not have to look at the framework of the seemingly sophisticated, and do not have the experience of stage fright, in the programming career, you can be an architect at any time, the key is, you should always allow yourself to maintain a non-slack heart, how to use the so-called MVC or patterns and principles of elegant and efficient application is a manifestation of the experience of skill and experience. But everything has to have the foundation, with the basic skills and then look at the libretto ride donkey go far.
5. Coupling generation:• inheritance • Aggregation • Interfaces • Method invocations and references • Service invocation
6, the goal of the design: cohesion, low coupling ; oriented to abstract programming; package change; implement reuse: code reuse, algorithm reuse
7, means and ideas: package changes, interface-oriented, abstract, service programming
8, in terms of principle, dependency inversion requirements design: Less inheritance of multiple aggregations, single-dependency, encapsulation abstraction, the dependent objects should be terminated in the abstract class and interface.
9, Bob Uncle's three points summary: (actual programming difficult to fully achieve)
(1) No variable should have a pointer or reference to a specific class.
(2) No class should inherit from a specific class.
(3) Any method should overwrite the method already implemented in any of its base classes.
10.
Chapter III The beauty of OO