zoukankan      html  css  js  c++  java
  • 设计模式之禅文摘

    第一部分 6大设计原则全新解读

    第1章 单一职责原则

    Single Responsibility Principle(SRP) 应该有且仅有一个原因引起类的变更

    第2章 里氏替换原则

    Liskov Substitution Principle(LSP)只要父类能出现的地方子类就可以出现

    1.子类必须完全实现父类的方法

    2.子类可以有自己的个性

    3.子类中方法的前置条件必须与超类中被覆写的方法的前置条件相同或者更宽松

    4.覆写或实现父类的方法时输出结果可以被缩小

    第3章 依赖倒置原则

    Dependence Inversion Principle(DIP)

    高层模块不应该依赖低层模块,两者都应该依赖抽象

    抽象不应该依赖细节

    细节应该依赖于抽象

    依赖注入的3中形式:

    1.构造函数注入 2.属性注入 3.接口注入

    第4章 接口隔离原则

    Interface Segregation Principle(ISP)

    客户端不应该依赖它不需要的接口

    类间的依赖关系应该建立在最小的接口上

    1.接口尽量小 2.接口要搞内聚 3.定制服务 4.接口设计是有限度的

    第5章 迪米特法则

    Law of Demeter(LOD)一个对象应该对其他对象有最少的了解

    1.只和朋友交流

    2.朋友间也是有距离的

    3.是自己的就是自己的

    4.谨慎使用Serializable

    第6章 开闭原则

    Open Closed Principle(OCP)对扩展开放,对修改关闭

    开闭原则对测试的影响

    开闭原则可以提高复用性

    开闭原则可以提高可维护性

    面向对象开发的要求

    1.抽象约束 2.元数据控制模块行为 3.制定项目章程 4.封装变化

    第二部分 23种设计模式完美演绎

    第7章 单例模式

    public class Singleton{
    
           private static final Singleton singleton = new Singleton();
           
           private  Singleton(){
           }
    
           public static Singleton getSingleton(){
                 return singleton ;
           }
    }

    第8章 工厂方法模式

    一个产品

    第9章 抽象工厂模式

    多个产品

    第10章 模板方法模式

    子类继承抽象类

    第11章 建造者模式

    一个对象中多个部件或零件的组成

    第12章 代理模式

    aop编程

    第13章 原型模式

    clone() 浅拷贝,深拷贝

    第14章 中介者模式

    交换机,星型结构

    mvc框架,controller中介者

    第15章 命令模式

    在GUI开发中,一个按钮的点击是一个命令

    请求者和接受者解耦

    多命令多撤销

    第16章 职责链模式

    链式请求

    第17章 装饰模式

    动态地增加功能

    OutputStream out = new DataOutputStrream(new FileOutputStream("text.txt"))

    第18章 策略模式

    一组算法,content封装

    第19章 适配器模式

    对象组合

    第20章 迭代器模式

    net,java封装此模式

    第21章 组合模式

    数据库菜单

    第22章 观察者模式

    java.util.Observable

    ejb容器(观察者模式)

    猫鼠游戏

    第23章 门面模式

    封装子系统

    第24章 备忘录模式

    事务管理,后退按钮

    第25章 访问者模式

    统一的报表运算,UI展现

    第26章 状态模式

    权限设计,电梯

    第27章 解释器模式

    四则运算

    第28章 享元模式

    缓冲池的场景

    第29章 桥梁模式

    过多继承

    两个桥(抽象化角色和实现化角色)

    第三部分 设计模式PK

    第30章 创建类模式大PK

    工厂模式 vs 创建者模式

    抽象工厂模式 vs 创建者模式

    第31章 结构类模式大PK

    代理模式 vs 装饰模式

    装饰模式 vs 适配器模式

    第32章 行为类模式大PK

    命令模式 vs 策略模式

    策略模式 vs 状态模式(策略封装算法,状态封装状态,context不一样,状态模式有登记状态变化的功能,有状态和行为)

    观察者模式 vs 职责链模式

    第33章 跨战区大PK

    策略模式 vs 桥梁模式

    门面模式 vs 中介者模式

    包装模式群pk(代理,门面,桥梁,装饰,适配)

    第四部分 设计模式混编

    第34章 命令模式+职责链模式

    第35章 工厂方法模式+策略模式

    第36章 观察者模式+中介者模式

    第37章 规格模式

    第38章 MVC框架

  • 相关阅读:
    树链剖分( 洛谷P3384 )
    ZJOI 2015 诸神眷顾的幻想乡
    BZOJ 1002 [FJOI2007]轮状病毒
    洛谷 P1485 火枪打怪
    Luogu2860 [USACO06JAN]冗余路径Redundant Paths
    CF962F Simple Cycles Edges
    Luogu3605 [USACO17JAN]Promotion Counting晋升者计数
    Luogu2295 MICE
    CF341D Iahub and Xors
    CF617E XOR and Favorite Number
  • 原文地址:https://www.cnblogs.com/smileberry/p/2951135.html
Copyright © 2011-2022 走看看