几种简单的设计模式叙述
单例模式
饿汉式;懒汉式
2工厂模式:(创建类的模式)
1.普通工厂方法模式:建立一个工厂类,对实现了同一接口的一些类进行实例创建。
2.多个工厂方法模式:是对普通工厂模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。
3.静态工厂方法模式:将多个工厂模式的方法设为静态的,不需要创建实例,直接调用即可
4.抽象工厂方法模式:创建多个工厂类,这样一旦需要添加新功能,直接增加新的工厂类即可,不需要修改代码。
建造者模式
建造者模式就是将各种产品集中起来进行管理,用来创建符合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是抽象工厂模式和最后的test结合起来得到的
适配器设计模式
将某个类的接口转换成客户期待的另一个接口的表示,目的是消除由于接口不匹配所造成的类的兼容性问题
分别有,类的适配器模式;对象的适配器模式;接口的适配器模式
接口的适配器模式:有时我们写的一个接口中有多个抽象方法,当我们写该接口的实现类时,必须实现该接口的所有方法,这明显有时比较浪费,因为并不是所有方法都是我们所需要的,有时只需要某一些,此处为了解决这个问题,我们引入了接口的适配器模式,借助一个抽象类,该抽象类实现了该接口,实现了所有的方法,而我们不和原始的接口打交道,只和该抽象类取得联系,所以我们写了一个类,继承该抽象类,重写我们的方法就行。
装饰模式
装饰模式就是给对象添加一些新功能,而且是动态的,要求装饰对象和被装饰的对象实现同一个接口,装饰对象持有被装饰对象的实例。
策略模式
定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数。策略模式的决定权在用户,系统本身提供不同的算法实现,新增或删除算法,对各种算法做封装,因此策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可。
观察者模式
类似于邮件订阅和Rss订阅,当我们浏览一些博客或wiki时,经常会看到Rss图标,意思是你已经订阅了该文章,如果后续有更新,会及时通知你。当一个对象变化时,其他依赖该对象的对象都会收到通知,并且随着变化,对象之间是一种一对多的关系。