美文网首页
跟诸子学游戏 23种设计模式

跟诸子学游戏 23种设计模式

作者: 诸子百家谁的天下 | 来源:发表于2018-04-07 17:16 被阅读33次

    以下内容,尽量背下来,背诵并理解术语.

    设计模式的出处:历史性著作《设计模式:可复用面向对象软件的基础》一书中描述了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#设计模式代码

    创建型:

            1. 单件模式(Singleton Pattern) 

            2. 抽象工厂(Abstract Factory) 

            3. 建造者模式(Builder) ,例子如:StringBuilder类

            4. 工厂方法模式(Factory Method) 

            5. 原型模式(Prototype) clone模式,有深拷贝浅拷贝问题,例子如:Array

    结构型:

            6. 适配器模式(Adapter Pattern) 

            7. 桥接模式(Bridge Pattern) 

            8. 装饰模式(Decorator Pattern) 

            9. 组合模式(Composite Pattern) 

           10. 外观模式(Facade Pattern) 

           11. 享元模式(Flyweight Pattern) 

           12. 代理模式(Proxy Pattern) 

    行为型:

           13.模板方法(Template Method)

           14.命令模式(Command Pattern)

           15.迭代器模式(Iterator Pattern) 

           16. 观察者模式(Observer Pattern) 

           17. 解释器模式(Interpreter Pattern) 

           18. 中介者模式(Mediator Pattern) 

           19. 职责链模式(Chain of Responsibility Pattern) 

           20. 备忘录模式(Memento Pattern) 

           21. 策略模式(Strategy Pattern) 

           22. 访问者模式(Visitor Pattern) 

           23. 状态模式(State Pattern)

    相关文章

      网友评论

          本文标题:跟诸子学游戏 23种设计模式

          本文链接:https://www.haomeiwen.com/subject/sldyhftx.html