设计模式
掌握设计模式的层次
- 刚开始学编程不久,听说过什么是设计模式
- 由很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道
- 学过了设计模式,发现自己已经在使用了,并且发现一些新的模式挺好用
- 阅读了别人写的源码和框架,在其中看到别人的设计模式,并且能够领会设计模式的精妙和带来的好处
- 代码写着写着,自己都没意识到使用了设计模式,并且熟练的写了出来
设计模式介绍
-
设计模式是程序员面对同类工程设计问题所总结出来的的游泳经验,模式不是代码,而是某类问题通用解决方案,设计模式(Design pattern)代表了最佳实践,这些解决方案是众多软件开发人员经过相当长的一段时间的实验和错误总结出来的。
- 设计模式的本质是提高 软件的维护性、通用性、扩展性并降低软件的复杂度。
使用设计模式的六中规则:
https://www.cnblogs.com/abel-he/p/17594620.html
设计模式分类
设计模式分为三种类型,共23种
- 创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式
- 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
- 行为型模式:模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)
1、单列模式
在软件系统中,对某个类只能存在一个对象实例,且该类只提供一个取得其对象实例的方法(静态方法)
简单示例:https://www.cnblogs.com/abel-he/p/17615859.html
2、简单工厂模式
由一个工厂对象决定创建出哪一种产品类的实例,。简单工厂模式是工厂模式家族中最简单实用的模式
简单示例:https://www.cnblogs.com/abel-he/p/17653191.html
3、抽象工厂模式
多个简单工厂配合使用时,可以做成一个抽象工厂
简单示例:https://www.cnblogs.com/abel-he/p/17805466.html
4、原型模式
原型模式主要讲的是对象之间的复制
- 浅拷贝:基础数据类型、字符串数据类型的复制,
- 深拷贝:基础数据类型、字符串类型、类属性对象的复制