设计模式可以理解为一系列的代码框架,我觉得主要涉及封装的概念。把实现某一功能的代码段封装在函数中,可以方便调用,同时利于代码的复用,提高了代码的可维护性。下面简单介绍一下几种设计模式的个人感受。
1.单例模式
类似于一个类只有一个对象实例。 假设一个物品只能归属于一个人所有。。
2.构造函数模式
类似于c中的构造函数,可以创建特定类型的对象,然后对象里可以声明不同的变量及成员函数,还可以有不同的参数。就像我想做个凳子,我可以做成普通的凳子,有长宽高之类的属性及可以做的功能函数,此外我也可以做成高级一点的,比如说做个带有靠背的凳子,还有躺卧的功能之类的。。
3.建造者的模式
将复杂对象与其表示相分离,使得同样构建过程可以创建不同的表示。类似于盖房子,客户只需要给出想要的房子大致功能及样式,然后由设计者中间牵线,指导实施者来具体实现。可以理解为将复杂的对象逐步拆解为具体的小对象,然后再一个个实现、组装,从而达到复杂对象的实现,是否有点类似于分治算法。
4.工厂模式
定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类,而子类可以重写接口方法来指定自己的对象类型(复杂工厂),当然也可以不重写,直接根据不同的环境返回不同的对象(简单工厂)。。
5.代理模式
为其他对象提供一种代理以控制对这个对象的访问。类似于中介的位置,协调两个对象之间的交互,或者是直接充当一方的授权人的角色,全权处理某件事。。
6.命令模式
用来对方法调用进行参数化处理和传送,经过这样处理过的方法调用可以在任何需要的时候执行。即将函数的调用、请求和操作封装成一个单一的对象,然后对这个对象进行一系列的处理。类似董事长向总经理下达命令,然后总经理再向下面人分派具体任务。
初步接触设计模式,理解可能会有点偏差,进一步的体会还需要以后慢慢琢磨。