23种设计模式

23种设计模式导航

  1. 创建型设计模式:创建型设计模式(5种)
  2. 结构型设计模式:结构型设计模式(7种)
  3. 行为型设计模式:行为型设计模式(11种)

代码好坏如何评价

1、可维护性: 不破坏原有的代码风格以及不引入bug情况下,能快速修改和新增代码。
2、可读性: 符合代码的编写和规范,易读易理解。
3、可扩展性: 对修改关闭,对扩展开放。
4、灵活性: 添加新代码时是否预留了扩展点?实现功能是否可抽出可复用的代码?使用某种接口是否可满足多种场景,应对不同需求?
5、简洁性: 让别人理解所需的时间最小化。(减少别人理解代码的成本)
6、可复用性: 减少重复代码,复用已有代码。
7、可测试性: 代码是否难以测试,也是评价代码好坏的重要标准。

设计模式的好处

1、能从容面对面试所涉及的设计模式相关问题
2、提高复杂代码的设计和开发能力
3、有助于我们读懂源码
(推荐好书:《图解设计模式》、《大话设计模式 》、《设计模式:可复用面向对象软件的基础》【简称GoF、四人组的书】)

23种设计模式的分类

1、创建型(5种): 提供创建对象的机制,提升已有代码的灵活性和复用性
    · 常用: 单例模式 、工厂模式(工厂方法、抽象工厂)、建造者模式。
    · 不常用: 原型模式
2、结构型(7种): 介绍如何将对象和类组成较大的结构,并保持结构的灵活和高效
    · 常用: 代理模式、桥接模式、装饰者模式、适配器模式。
    · 不常用: 外观模式、组合模式、享元模式
3、行为型(11种): 负责对象间的高效沟通和职责传递委派
    · 常用: 观察者模式、模板模式、策略模式、责任链模式、迭代器模式、状态模式。
    · 不常用: 访问者模式、备忘录模式、命令模式、解释器模式、中介模式。

六大设计原则(首字母组合solid稳定的,2l合并)

1、单一职责原则(SRP): 设计细粒度小、功能单一的类(一个类只负责完成一个职责或功能)
2、开放封闭原则(OCP): 对修改关闭,对扩展开放(通过抽象定义结构,用具体实现扩展细节,以此确保可靠性)
3、里式替换原则(LSP): 与期望一致的替换(不管哪种派生类的实现,都应与接口或基类方法期望的行为一致 )
4、接口隔离原则(ISP): 一个类对另一个类的依赖应建立在最小的接口上(要为各个类建立专用接口)
5、依赖倒置原则(DIP): 高层模块不应依赖于底层模块,都应该依赖于抽象。抽象不应依赖于细节,细节应该依赖于抽象(抽象稳定不多变,细节不稳定多变,依赖于抽象 更稳定)
6、迪米特原则(LKP): 一个类/模块对其他的类/模块越少了解越好(不该有直接依赖关系之间的类,不要有依赖;有依赖关系的类,尽量只依赖必要的接口)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值