设计模式总结

单例模式:仅允许有一个实例,节省内存,共享资源

工厂模式:需要某个类就产生某个类

代理模式:增加代理类,保护真正的类

策略模式:选择使用哪个算法或者功能

适配器模式:实现类中的方法名的转化,然后得到调用者需要的方法名称

装饰模式:在不改变现有对象结构的情况下,添加新功能

观察者模式:一个消息发送给多个观察者,多个观察者在观察等待一个消息的发出,准备接收一个消息,把一个消息发送给多个订阅这个消息的人

设计原则:

开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求,作用:可以提高代码的可复用性,软件测试时只需要对扩展的代码进行测试就可以了,稳定性高和延续性强,从而易于扩展和维护

里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。通过重写父类的方法来完成新的功能,整个继承体系的可复用性会比较差

依赖倒置原则:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。其核心思想是:要面向接口编程,不要面向实现编程。是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。

单一职责原则(Single Responsibility Principle,SRP)又称单一功能原则,单一职责原则的核心就是控制类的粒度大小、将对象解耦、提高其内聚性。降低类的复杂度,提高类的可读性,提高系统的可维护性,变更引起的风险降低

接口隔离原则:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。提高了系统的内聚性,能减少代码冗余

接口隔离原则和单一职责都是为了提高类的内聚性、降低它们之间的耦合性,体现了封装的思想,但两者是不同的:

单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离。

单一职责原则主要是约束类,它针对的是程序中的实现和细节;接口隔离原则主要约束接口,主要针对抽象和程序整体框架的构建。

策略工厂模式区别:

相似:

在结构上相似,都是对象的继承和多态,所以非常难区分。

不同:

1 用途不同:

抽象工厂是对对象的管理,它的作用就是创建不同的对象;

策略模式是对行为的管理,它的作用是让一个对象在不同情况下选择行为。

2 方式不同:

工厂模式是创建型的设计模式,它接受指令,创建出符合要求的实例。它主要解决的是资源的统一分发,将对象的创建完全独立出来,不同的对象对用同一个方法,结果不同。

策略模式是为了解决的是策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,同一个对象调用同一个方法,结果不同。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。