什么是设计模式
由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著,四人组Gang of Four简称GOF!总结了在面向对象语言开发过程中常见问题的解决方案!
设计模式是面向对象语言开发过程中,遇到的种种场景和问题,然后提
出的思路和解决方案,最后沉淀下来,就成了设计模式。
设计模式其实就是解决问题的思路,是前辈总结出来的有效方式方法,
就是套路!学习设计模式,就是为了站在前辈的肩膀上,能更快捷优雅的解决面向对象程序开发设计问题。
设计模式分类
1创建型设计模式,关注对象的创建 |
---|
2结构型设计模式,关注类与类之间的关系 |
3行为型设计模式,关注对象和行为的分离 |
创建型设计模式
1. Singleton (单例) |
---|
2. Factory Method (工厂方法) |
3. Abstract Factory (抽象工厂) |
4. Builder (建造者) |
5. Prototype (原型) |
5种创建型设计模式,关注对象的创建,其实就是如何new-一个对象的问题,这里也是有非常多的套路,后续再为大家-一解读!
结构型设计模式
1. Adapter Class/Object (适配器) |
---|
2. Bridge (桥接) |
3. Composite (组合) |
4. Decorator (装饰) |
5. Facade (外观) |
6. Flyweight (享元) |
7. Proxy (代理) |
7种结构型设计模式,关注类与类之间的关系,其实就是折腾组合与继承,为程序提供更好的灵活性和扩展性。
行为型设计模式
1. Interpreter ( 解释器 ) |
---|
2. Template Method (模板方法 ) |
3. Chain of Responsibility (责任链) |
4. Command ( 命令 ) |
5 . lterator (迭代器) |
6. Mediator (中介者) |
7. Memento(备忘录) |
8. Observer (观察者) |
9. State (状态模式 ) |
10. Strategy ( 策略模式 ) |
11. Visitor (访问者) |
如何学习使用好设计模式?
1具体的场景和问题
设计模式是为了解决具体场景和问题而诞生的,因此任何设计模式的学习,都离不开一个具体的场景和问题。
2解决方案和思路
条条大路通罗马,一个问题的解决方案会有很多个,但是通过对比解读,才能找出最适合的解决方案。
3解决问题,总结沉淀
搞定了问题,还要总结沉淀,见微知著,举一反三,将来遇到同样的问题才有章可依,而这里的章法,就是设计模式了。
4推广应用,实践出真知
解决一个特定场景是没有意义的,更重要的是在开发实践中去应用去总结,将设计模式融入自己的开发设计,只有真的解决了问题,才能变成自己的!
版权声明:本文由Contione原创出品,转载请注明出处!
10/21/2020 22:04:59回复