14种最重要的设计模式

引言:设计模式、架构、框架、类库

设计模式:在oo开发过程中,在某种情境下,解决某重复问题的某种解决方案,关键词:方法,不是代码。

和架构、框架的关系:架构,程序设计方法,常见的有是MVC三层架构,而框架是对架构的实现,目的是为了实现解决方案的重用,框架中通常包含了多种设计模式。 

框架和类库的区别:框架是为了实现解决方案的重用,而类库则是为了解决代码的重用。

正文:

1、策略模式:定义了一个算法族,分别封装起来,可以相互替换,实现了算法的变化独立于使用算法的客户。(封装变化部分)

2、观察者模式:定义了对象之间一对多的依赖关系,当一个对象变化时,其所有的依赖者都接收到通知,并自动更新。(针对接口编程)

3、装饰模式:动态地将责任添加到对象上,若要扩展功能,提供了比集成更具有弹性的解决方案。(多用组合,少用继承,开闭原则(对扩展开放,对修改关闭))

4、工厂模式:

4.1工厂方法:提供了定义对象的接口,而由子类确定具体实例化的类是哪一个,允许类将实例化推迟到子类。

4.2抽象工厂:定义了一个接口,用以实现相关或依赖的对象的家族,而不用指定具体类,到底是芝加哥的原料工厂还是纽约的原料工厂。

5、单例模式:确保类的实例只有一个,并提供了全局访问点;

6、命令模式:封装调用,将请求封装成对象,以便使不同的请求、队列或日志参数化其他对象,允许执行撤销操作。

7、适配器模式:将一个类的接口,转化为客户期望的另一个接口,从而使原本接口不兼容的类相互转化。

8、外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。

9、模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类之中。模板方法允许子类在不改变算法结构的情况下,重新定义算法中的某些步骤;

10、迭代器模式:提供了一种方法,顺序地访问聚合对象(集合)内的每个元素,而又不暴露内部的具体实现。

11、组合模式:允许将对象组合成树形结构来表现“整体-部分”的层次结构。能让客户以相同的方式处理个别对象或者对象的组合。

12、状态模式:允许对象在内部状态变化时改变行为,对象看起来好像修改了实例化的类型。

13、代理模式:为另一个对象提供替身或占位符,用以控制对其的访问。

备注:

接口,泛指interface和接口内需要实现的方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值