设计模式学习笔记

目录

一、OOP七大原则

二、抽象工厂模式

定义:

适用场景:

优点:

缺点:



一、OOP七大原则

一、开-闭原则(Open-Closed Principle, OCP)

对扩展开放,对修改关闭。最基础,最重要的一个原则。顾名思义,对一个类允许扩展其功能,但是不能影响到现有的功能模块。对提供方开放,对使用方关闭。

二、里氏替换原则(Liskov Substitution Principle,LSP)

继承必须确保超类所拥有的性质在子类中仍然成立。超类能出现的地方,可以用子类代替,子类拥有超类的所有属性和方法,通俗来说子类拥有超类的功能,可以拓展超类的功能,但是不能修改超类的功能。

三、依赖倒置原则(Dependence Inversion Principle)

要面向接口编程,不要面向实现编程。高层模块不应该依赖底层模块,二者都依赖其抽象。程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。

四、接口隔离原则(Interface Segregation Principle, ISP)

要为各个类建立它们需要的专用接口。不同的类使用同一个接口的部分方法时,应该将每个类对应的方法从接口中抽离出来分别实现。

五、合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)

尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。判断组合和聚合关系的一个简单方法就是:看整体与部分的生命周期是否一致,部分能够独立于整体而存在则属于聚合;整体消失部分不复存在则属于组合。

六、迪米特法则(Law of Demeter LoD)

也叫最少知道原则。只与你的直接朋友交谈,不跟“陌生人”说话。两个对象之间有耦合关系,说明对象间是朋友关系。出现在成员变量,方法参数,方法返回值中的类为直接朋友;出现在局部变量中的类就是陌生朋友。

七、单一职责原则(Simple responsibility pinciple SRP)

控制类的粒度大小,将对象解耦、提高其内聚性。一个类做好自己的事情,尽量不要与其他类建立联系。一个类中的方法只做一件事情。

二、抽象工厂模式

只提供标准不生产实体

定义:

抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类
 

适用场景:

客户端(应用层)不依赖于产品类实例如何被创建、实现等细节
强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码
提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现

优点:

适用于产品族比较稳定的情况,具体产品在应用层的代码隔离,无需关心创建的细节
将一个系列的产品统一到一起创建

缺点:

规定了所有可能被创建的产品集合,产品 中扩展新的产品困难;
增加了系统的抽象性和理解难度(增加一个产品有一定的难度)


抽象工厂模式
围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值