设计模式
2019-07-09 15:51:02 59 举报
AI智能生成
设计模式+软件设计原则思维脑图
作者其他创作
大纲/内容
创建型模式
简单工厂模式
根据传递参数不同,返回不同类的实例,当被创建的对象种类不多时可取
工厂方法模式
定义一个创建产品对象的接口,将产品对象的实际创建工作推迟到具体的子工厂中
抽象工厂模式
为访问类提供一个创建一组'相关或相互依赖对象'的接口,且访问类无需制定'所要产品的具体类'及可以得到`同族不同等级的产品`
建造者模式
将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,被称为建造者模式
原型模式
用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。
单例模式
最简单、最多样化的模式
行为型模式
模板方法模式
定义一个操作骨架,将操作中不变的部分封装,可变的部分较给子类继承实现
策略模式
完成一个任务会有不同的实现方式,将这些实现方式封装在一起,提供给客户端根据不同情况进行调用
命令模式
将一个请求封装成一个对象,发起请求和执行请求相隔离
职责链模式
将所有请求处理者通过前一对象记住下一对象引用来形成一条处理链,请求发生时,请求信息沿着这条链传递进行处理
状态模式
状态模式
对于有状态的对象没将其复杂的逻辑判断提取到每一个不同的状态对象中
观察者模式
目标对象发生变化时,通知观察者对象做出相应,即为发布-订阅模式
中介者模式
定义一个中介者,将一对多转化为一对一,是对象间耦合度降低
迭代器模式
提供一个对象来顺序访问聚合对象中的数据,而且访问时不暴露聚合对象中的内部信息
解释器模式
访问者模式
备忘录模式
2019.06.17软件设计原则
2019.06.18工厂模式总结
一、一句话概括工厂模式
简单工厂:一个工厂类,一个产品抽象类。
工厂方法:多个工厂类,一个产品抽象类。
抽象工厂:多个工厂类,多个产品抽象类。
二、生活中的工厂模式
简单工厂类:一个麦当劳店,可以生产多种汉堡。
工厂方法类:一个麦当劳店,可以生产多种汉堡。一个肯德基店,也可以生产多种汉堡。
抽象工厂类:百胜餐饮集团下有肯德基和百事公司,肯德基生产汉堡,百事公司生成百事可乐。
简单工厂:一个工厂类,一个产品抽象类。
工厂方法:多个工厂类,一个产品抽象类。
抽象工厂:多个工厂类,多个产品抽象类。
二、生活中的工厂模式
简单工厂类:一个麦当劳店,可以生产多种汉堡。
工厂方法类:一个麦当劳店,可以生产多种汉堡。一个肯德基店,也可以生产多种汉堡。
抽象工厂类:百胜餐饮集团下有肯德基和百事公司,肯德基生产汉堡,百事公司生成百事可乐。
2019.06.19抽象工厂模式
2019.06.26建造者模式
建造者(Builder)模式和工厂模式的关注点不同,但两者可以结合使用:
建造者模式注重零部件的组装过程,
而工厂方法模式更注重零部件的创建过程
建造者模式注重零部件的组装过程,
而工厂方法模式更注重零部件的创建过程
2019.06.26原型模式
cloneable、浅拷贝、深拷贝
2019.06.28单例模式
懒汉式:线程不安全
饿汉式:线程安全
枚举实现:线程安全,防止反序列、反射爆破
2019.07.01代理模式
静态代理
动态代理
2019.07.02适配器模式
可以类比理解电源适配器
2019.07.03桥接模式
有难度,需回顾
2019.07.04装饰模式+外观模式
悟空七十二变
2019.07.08享元模式+组合模式
2019.07.09模板方法模式
比如银行办业务、一些业务流程固定,部分业务内容因人而异的情形
2019.07.10策略模式
一个功能多个实现的情况下,将多个实现策略进行封装
2019.07.11命令模式
实现命令发送者和实现者之间的解耦合
2019.07.12责任链模式
工厂自动化车间处理一个零件
2019.07.15状态模式
2019.07.16观察者模式
常用的设计模式
2019.07.17中介者模式
qq服务器,注册中心都是中介者模式
2019.07.18迭代器模式+访问者模式
ArrayList中的Iterator经典案例
医生处方单元素,划价员和药房工作人员处理方式不同
软件设计原则
单一职责原则
一个类因其他变化的原因只有一个:职责。多个职责会引起耦合,牵一发动全身
开 闭原则
充分发挥面向对象,对现实事物进行抽象化,实现对扩展开放,对修改关闭,做到热插拔
里氏代换原则
实现抽象化的具体步骤规范,子类可以当作父类用,并拥有自身独有的行为
依赖倒置原则
依赖于抽象而非具体,对抽象进行编程,降低耦合,开闭原则是面向对象设计的目标,DI是面向对象设计的手段
接口隔离原则
使用多个隔离的接口优于单个重度耦合接口,降低依赖,降低耦合
合成复用原则
在新的对象里通过组合/聚合关系来使用一些已有对象的功能,减少继承的使用
最少知道原则
一个实体应当尽可能少的与其他实体产生联系,防止过度耦合
结构型模式
代理模式
提供一个代理来控制目标对象的访问,起到保护和隔离目标对象的作用
适配器模式
新旧类中间做适配
桥接模式
抽象和实现分离
装饰模式
不改变现有结构的情况下,动态的给对象增加其他职责
外观模式
为复杂的多个子系统对外提供一个一致的接口方便客户调用
组合模式
将对象组合成树状层次结构的模式
享元模式
通过共享已经存在对象,来减少相同相似对象的重复创建
创建型模式
主要是用来处理对象创建的设计模式,尝试根据实际情况使用最合适的方式来创建对象
实现:将系统使用的具体类封装起来,吟唱具体类的示例创建和结合的方式
对象创建型模式/类创建型模式
www.larscheng.com
0 条评论
下一页