以下内容,尽量背下来,背诵并理解术语.
设计模式的出处:历史性著作《设计模式:可复用面向对象软件的基础》一书中描述了23种经典面向对象设计模式,创立了模式在软件设计中的地位。该书四位作者被人们并称为Gang of Four (GoF),“四人组”,该书描述的23种经典设计模式又被人们称为GoF23 种设计模式。具体的设计原则:单一职责原则(SRP Single Responsibility Principle)一项功能 .开放封闭原则(OCP Open Closed Principle)少修改,多扩展,Liskov 替换原则(LSP Liskov Substitution Pinciple)子类替换父类.依赖倒置原则(DIP Dependency Inversion Principle)依赖抽象类抽象接口.接口隔离原则(ISP Interface Segregation Principle)把需要使用的放出来使用,不需要使用的不给其放出来,最好的方式是形成一簇接口放出来.合成/聚合复用原则(CARP Composite/Aggregate Reuse Principle )3个类A,B,C 可以形成2种结构:A和B继承C,A和B是C中的属性.结论是少继承,多聚合.迪米特法则(LoD Law of Demeter ):尽可能最小的最少的认识足够支持你完成功能的类.
①从目的来看:1创建型(Creational)模式:负责对象创建。2结构型(Structural)模式:处理类与对象间的组合。3行为型(Behavioral)模式:类与对象交互中的职责分配。②从范围来看:1类模式处理类与子类的静态关系。2对象模式处理对象间的动态关系。
面向对象设计模式解决的是“类与相互通信的对象之间的组织关系”,包括它们的角色、职责、协作方式几个方面。面向对象三大机制:封装(隐藏内部实现,对于程序员只需要使用即可),继承(属性与方法的可复用性,不用写太多其他属性与方法,现在业界更多使用组合替代继承),多态(功能接口复用,例如:很多类需要使用一个接口,就复用这一个接口,传入函数指针,调用不同的接口也可以称为多态),其中多态最为重要.
设计模式中分为类使用者,类设计者.以下用C#代码写出23中设计模式,C#可以实现:各种级别的封装支持,单实现继承+多接口实现;抽象方法与虚方法重写。通俗点说,就是我只需要使用这个设计模式设计出来的类,不需要我自己去设计这个类.
https://github.com/BingJin-Zheng/CSharpDesignMode/tree/1 个人理解的C#设计模式代码
创建型:
3. 建造者模式(Builder) ,例子如:StringBuilder类
5. 原型模式(Prototype) clone模式,有深拷贝浅拷贝问题,例子如:Array
结构型:
行为型:
17. 解释器模式(Interpreter Pattern)
网友评论