从何而来? |
在建筑过程中,慢慢发现人们对于舒适住宅和城市环境存在一些共同的认知。在《建筑的永恒之道》中,正式给出了模式的定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的成功的解决方案,无需再重复相同的工作。
受这种思想的启发,有了设计模式的思想出现。
有什么? |
(1) 六个原则:
原则名称 | 简要说明 |
---|---|
单一职责 | 一个类或一个接口只负责一个功能 |
依赖倒转 | 针对接口编程,不针对实现编程。 抽象不应依赖于细节,细节依赖于抽象 |
开放封闭 | 对扩展开放,对修改关闭 |
迪米特 | 类与类,对象与对象之间联系越少越好 |
里氏转换 | 子类可以扩展父类的功能,但不能改变父类原有的功能 |
合成/聚合 | 优先使用对象的合成或聚合而不是类继承 |
(2)23种设计模式:
设计模式类型 | 包括 |
---|---|
创建型模式 (5种) | 单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式 |
结构型模式(7种) | 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 |
行为型模式 (11种) | 模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式、访问者模式 |
如何更好的去使用? |
所以想要更好的使用设计模式,就要建立面向对象的思想,尽可能的面向接口编程,低耦合,高内聚,使得设计的程序尽可能的复用。
当然了,如果只是想,只是停留在知道的层面,不去做到,不去用,是不可能更好的去使用好设计模式的。所以,在学习设计模式的时候,一定要多思考,多练习。
Search for meaning |
设计模式它集合了很多优秀的人的思想,经过了很多年的考验,它依然存在。所以设计模式就是一位巨人。尝试去理解,去使用设计模式,终有一天,你会成为别人眼中那个很“牛”的人。
又想起了米老师常说的“来这里,学习的是思想,而不是技术”。经历越多,对这句话的理解越深刻。技术层面,有很多成熟的方法,给你一定时间你就能学会,这是一件毋庸置疑的事情。但是一个人的思想不是说改变就能改变,有的人思想,就算你给他两年的时间,也不一定能够有多大的改变。
设计模式,就像前面说的,它不仅仅是一种方法和技术,更是一种思想。所以,好好体会和感受~
最后,推荐一位大大大大大神的博客,关于设计模式的,我从中收获很多,分享出来,希望大家也能从中收获一些东西。
附,大大大大大神的博客链接地址:史上最全设计模式导学目录(完整版)
感谢您的阅读~~