- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计模式笔记精选
一、开放-封闭原则(OCP)
Open-Closed Principle原则讲的是:一个软件实体应当对扩展开放,对修改关闭
二、 里氏代换原则(LSP)
Liskov Substitution Principle(里氏代换原则):子类型(subtype)必须能够替换它们的基类型。
三、?依赖倒置原则(DIP)
依赖倒置(Dependence Inversion Principle)原则讲的是:要依赖于抽象,不要依赖于具体。
抽象不应当依赖于细节;细节应当依赖于抽象;要针对接口编程,不针对实现编程。
四、?接口隔离原则(ISP)
接口隔离原则(Interface Segregation Principle)讲的是:使用多个专门的接口比使用单一的总接口总要好。换而言之,从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的。
实现方法:1、?使用委托分离接口2、?使用多重继承分离接口
五、?合成/聚合复用原则(CARP)
合成/聚合复用原则(Composite/Aggregate Reuse Principle或CARP)经常又叫做合成复用原则(Composite Reuse Principle或CRP),就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新对象通过向这些对象的委派达到复用已有功能的目的。
简而言之,要尽量使用合成/聚合,尽量不要使用继承。
区分Has-A与Is-A
Is-A是严格的分类学意义上定义,意思是一个类是另一个类的一种。而Has-A则不同,它表示某一个角色具有某一项责任。
六、?迪米特法则(LoD)
迪米特法则(Law of Demeter或简写LoD)又叫最少知识原则(Least Knowledge Principle或简写为LKP),也就是说,一个对象应当对其它对象有尽可能少的了解。
迪米特法则与设计模式Facade模式、Mediator模式
创建型模式种类
? Singleton单例模式,保证一个类仅有一个实例
? Factory Method工厂方法模式,定义一个创建对象的接口,并控制用哪一个类进行实例化
? Abstract Factory–抽象工厂模式,创建一系列相关或相互依赖的对象
? Prototype–原型模式,通过拷贝现有对象来生成新对象(克隆方法)
? Builder–生成器模式,将构造对象实例的代码逻辑移到类的外部
结构型模式
? 结构型模式涉及到如何组合类或对象,以获得更大的结构
? 结构型类模式采用继承机制来组合接口或实现
? 结构型对象模式描述了如何对一些对象进行组合,从而实现新功能的一些方法
Adapter适配器模式,将一个类的接口转换成客户希望的另外一个接口,使得原本由于
接口不兼容而不能一起工作的那些类可以一起工作适配器(Adapter)模式
?桥梁(Bridge)模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化
? Composite组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性合成(Composite)模式
? Decorator 装饰模式,动态地给一个对象添加一些额外的职责装饰(Decorator)模式
? Facade 外观模式,为子系统中的一组接口提供一个一致的界面,使得这一子系统更加容易使用
? Flyweight 享元模式,运用共享技术有效地支持大量细粒度的对象享元(Flyweight)模式
? Proxy代理模式,为其他对象提供一种代理以控制对这个对象的访问代理(Proxy)模式
行为型模式
? 行为型模式涉及到算法和对象间职责的分配
? 行为型模式不仅描述对象或类的模式,还描述它们之间的通信模式,将注意力转移到对象间的联系方式上来
行为型模式种类
? Chain of responsibility– 职责链模式,使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系职责链(Chain of Responsibility)模式
? Command– 命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作
? Interpreter 解释器模式,给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子
? Iterator迭代器模式,提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示
? Mediator中介者模式,用一个中介对象来封装一系列的对象交互
? Memento 备忘录模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态
您可能关注的文档
- 设备和管道保冷层厚度的计算精选.pdf
- 设备安装吊装方案精选.doc
- 设备巡检细则精选.doc
- 设备安装交底文件精选.pdf
- 设备安装项目管理中遇到的难点及解决对策精选.doc
- 设备房要求精选.doc
- 设备折旧表精选.doc
- 设备检验方案 - 副本精选.doc
- 设备监理综合实务与案例分析精选.doc
- 设备现场检维修管理标准精选.doc
- 2026届高考数学总复习(第1轮)基础版第50讲 直线的方程.pptx
- 《关于组织开展能源领域氢能试点工作的通知》解读及对策.docx
- 二年级数学奇妙的动物世界跨学科项目化学习设计.docx
- 高一美术传承与创新中国近现代美术思政融合课教学设计.docx
- 2025年湖北省省直辖行政单位选调生考试(行政职业能力测验)综合能力测试题带答案.docx
- 2025年温州医科大学仁济学院单招语文测试模拟题库附答案.docx
- 2025年清远职业技术学院单招(语文)测试模拟题库附答案.docx
- 2025年湖北省咸宁市事业单位招聘考试(职业能力倾向测验)题库及答案1套.docx
- 2025年温州大学单招语文测试题库有答案.docx
- 2025年湖北省荆州市单招语文测试模拟题库a4版.docx
文档评论(0)