设计模式

设计模式

● 代表了最佳的实践,常被有经验的面向对象的软件开发人员所采用,是软件开发人员在软件开发过程中面临的一般问题的解决方案,这些解决方案是众多软件开发人员经过相当长时间的试验和错误总结出来的;是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结
● 使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性
● 不要强制使用设计模式,否则结果可能适得其反。
● 共有23种,分为三大类:创建型模式,结构型模式,行为型模式
● 创建型模式:
①提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用new直接实例化对象
②它是处理对象创建的设计模式,专注于如何初始化对象,它试图根据实际情况使用合适的方式创建对象。
③基本的对象创建方式可能会导致设计上的问题或增加设计的复杂度,创建性模式通过以某种方式控制对象的创建来解决这些问题
④软件设计中对象的创建和对象的使用是分开的,因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题
⑤包括:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式
● 结构型模式:
①在解决了对象的创建问题之后,对象的组成及对象间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等
②包括:适配器模式(Adapter Pattern),桥接模式(Bridge Pattern),过滤器模式(Filter、Criteria Pattern),组合模式(Composite Pattern),装饰器模式(Decorator Pattern),外观模式(Facade Pattern),享元模式(Flyweight Pattern),代理模式(Proxy Pattern)
● 行为型模式:
①关注对象之间的通信,如果对象的行为设计的好,那么对象的行为就会更清晰,它们之间的协作效率就会提高
②包括:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式
● 设计模式的六大原则:
①单一原则(SRP):一个类只做一件事
②开放-封闭原则(OCP):软件实体(类、模块、函数)可以拓展,但是不可修改
③依赖倒转原则(DIP):A.高层模块不应该依赖底层,两个都应该依赖抽象。B.抽象不应该依赖细节,细节依赖抽象
④里氏代换原则(LSP):子类型必须能够替换掉它们的父类型
⑤迪米特法则(LoD):如果两个类不必直接通信,那么这两个类不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可通过第三者发起这个调用
⑥合成/聚合复用原则(CARP):尽量使用合成/聚合,尽量不要使用类继承

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值