最简设计模式

设计模式应用举例
刚开始学
刚开始学习设计模式的时候,感觉很兴奋,这东西太好了。
困惑
当时学完后,不知道如何用。甚至自己用过了也不知道自己用过了。
于是我想:学这东西到底有什么用呢,到底如何才算学会呢?
领悟
后来我明白了,其实设计模式只是面上对象应用的一些典型案例,模式的价值在于对面向对象属性的巧妙运用,如果你找到了每一种模式的巧妙之处,即每种模式都什么用的面向对象特性(继承,重载,多态)。
建议
其实如果想学的简单点,你就在模式中找多态,找到了,你就学会了。
如上是我学习过程的体悟,对有一点我要补充一下,有些对设计模式的讲解把例子将得太复杂了,我当时学完啥感觉:需求理解已经消耗了我大部分的精力和热情了,那还有精力能够发现模式本身的关键呢?
为什么说需求理解已经消耗了我的大部分精力呢?
因为大部分设计模式讲解都从一个复杂的需求开始,甚至加上运用设计模式的演进过程,当你把这流程学习完之后,你问问自己,你知道该模式是什么了吗?他和其他模式的不同在哪里?如果给你一些代码,你能确定这里用了什么模式?我当时候是一头雾水的,我甚至把需求和代码都能背记下来的时候,还是有上述的困惑。这里先说一句,其实你如果找到了模式中的面向对象模型,你就一定懂了这个模式,至于需求的场景什么的,你完全可以凭自己的想象去套用。
重点(如您不愿意多浪费时间,请一定要理解这句话再看下面具体的模式)
我如下的设计模式都是用最简单的方式实现的,我希望大家对设计模式的学习顺序是先能了解某个设计模式用了一个什么样面向对象模型,这些模型本身有什么特点,和其他模式的模型有什么区别,然后你再自己去套用场景,别被别人的场景弄的失去了重点。这是我认为一种快速学习设计模式的方式。

如下我将所有的模式用最简单的方式整理一遍。
创建型:
1. 单件模式(Singleton Pattern)
2. 抽象工厂(Abstract Factory)
3. 建造者模式(Builder)
4. 工厂方法模式(Factory Method)
5. 原型模式(Prototype)
结构型:
6. 适配器模式(Adapter Pattern)
7. 桥接模式(Bridge Pattern)
8. 装饰模式(Decorator Pattern)
9. 组合模式(Composite Pattern)
10. 外观模式(Facade Pattern)
11. 享元模式(Flyweight Pattern)
12. 代理模式(Proxy Pattern)
行为型:
13. 模板方法(Template Method)
14. 命令模式(Command Pattern)
15. 迭代器模式(Iterator Pattern)
16. 观察者模式(Observer Pattern)
17. 解释器模式(Interpreter Pattern)
18. 中介者模式(Mediator Pattern)
19. 职责链模式(Chain of Responsibility Pattern)
20. 备忘录模式(Memento Pattern)
21. 策略模式(Strategy Pattern)
22. 访问者模式(Visitor Pattern)
23. 状态模式(State Pattern)
中和分析:
1. 设计模式对比分析
2. 策略、状态、职责链、多角度分析
3. 策略、状态、职责链、共同点和差异分析(类图)
4. 设计模式关键-多态
5. 用多态分析创建型模式的要点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值