设计模式
Posted gendway
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式相关的知识,希望对你有一定的参考价值。
设计模式
一、 单例模式:
在系统中有且仅有一个实例,并能对外界提供可访问的方法;
单例类必须自己创建自己的唯一实例。
二、 工厂模式:
是创建型模式的一种:用于源源不断的间接性地创建对象;
1、 普通工厂模式:普通方法创建;
2、 简单工厂模式(静态工厂模式):静态方法创建;
工厂模式还可以结合单例模式使用:
创建出唯一的实例;
抽象是所有子类的共性封装
三、模板方法模式:
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
享元模式:
外部状态共享,内部状态非共享;
外部状态共享,是为了解决内存浪费的问题,使得同样的属性可以共同或状态可以共同利用,如常用hashmap去存储。
六大设计原则
1、 单一职责原则:
一个类仅有一种原因使其被改变;
2、 里氏替换原则:
体现的是面向对象中的继承复用关系;
3、 依赖倒置原则;
高层对象对低层对象的调用应该依赖其抽象;
4、 接口隔离原则;
接口对接口间的引用,仅仅公布最少的方法,即定义最少的public,不要定义过多;比如我定义一个外部接口调用给善衡,就只给了一个方法,是非常好的设计思想,
他就不用去考虑调哪个接口方法了。
5、 迪米特原则;
只与直接的朋友交流:
朋友类的定义是这样的: 出现在成员变量、 方法的输入输出参数中的类称为成员朋友类;
但是也不要过度耦合,如执行三个步骤,调用3个方法,修改起来就麻烦了;
6、 精神领袖:开闭原则
一个软件实体如类、 模块和函数应该对扩展开放, 对修改关闭。
为什么?
因为一处修改可能影响大量代码的变化;尽量依赖于高层模块;
以上是关于设计模式的主要内容,如果未能解决你的问题,请参考以下文章