zoukankan      html  css  js  c++  java
  • 设计模式总论

    活字印刷:可维护(只改一个字),可复用(下次可再用),可扩展(另加刻字),灵活性好(横竖都行),说到底是为了做维护方便,让业务逻辑与界面逻辑分开,耦合度下降四大发明其它三种都是科技进步,唯有活字印刷是思想的成功,面向对象的设计。

    可利用的OO手段:封装,继承,多态。

           正如《设计模式》的作者GoF对访问者模式的描述:大多数情况下,你并需要使用访问者模式,但是当你一旦需要使用它时,那你就是真的需要它了。当然这只是针对真正的大牛而言。在现实情况下(至少是我所处的环境当中),很多人往往沉迷于设计模式,他们使用一种设计模式时,从来不去认真考虑所使用的模式是否适合这种场景,而往往只是想展示一下自己对面向对象设计的驾驭能力。编程时有这种心理,往往会发生滥用设计模式的情况。所以,在学习设计模式时,一定要理解模式的适用性。必须做到使用一种模式是因为了解它的优点,不使用一种模式是因为了解它的弊端;而不是使用一种模式是因为不了解它的弊端,不使用一种模式是因为不了解它的优点。

    23种设计模式:

    一、创建型模式

        单件模式(Single Pattern)
        抽象工厂模式(Abstract Factory)
        建造者模式(Builder Pattern)
        工厂方法(Factory Method)
        原型模式(Protype Pattern)


    二、结构型模式
        适配器模式(Adapter Pattern)
        桥接模式(Bridge Pattern)
        装饰模式(Decorator Pattern)
        组合模式(Composite Pattern)
        外观模式(Façade Pattern)
        享元模式(Flyweight Pattern)
        代理模式(Proxy Pattern) 

    三、行为型模式
        模版方法模式(Template Method)
        命令模式(Command Pattern)
        迭代器模式(Iterator Pattern)
        观察者模式(Oberver Pattern)
        中介者模式(Mediator Pattern)
        备忘录模式(Memento Pattern)
        解释器模式(Interpreter Pattern)
        状态模式(State Pattern)
        策略模式(Strategy Pattern)
        职责链模式(Chain of Responsibility)
        访问者模式(Visitor Pattern)

  • 相关阅读:
    携程的 Dubbo 之路
    应用上云新模式,Aliware 全家桶亮相杭州云栖大会
    重构:改善饿了么交易系统的设计思路
    Arthas 3.1.2 版本发布 | 增加 logger/heapdump/vmoption 命令
    如何检测 Web 服务请求丢失问题
    VPGAME的Kubernetes迁移实践
    Flink SQL 系列 | 5 个 TableEnvironment 我该用哪个?
    如何构建批流一体数据融合平台的一致性语义保证?
    Flink on YARN(下):常见问题与排查思路
    愚蠢的操作
  • 原文地址:https://www.cnblogs.com/findumars/p/3269027.html
Copyright © 2011-2022 走看看