- 博客(8)
- 资源 (1)
- 收藏
- 关注
转载 1.1软件设计模式—创建型——工厂模式(Factory)
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 实现 我们将创建一个Shape接口和实现Shape接口的实体类。下一步是定义工厂类ShapeFactory。 FactoryPa...
2019-06-04 14:53:07 228
转载 1.1软件设计原则——合成复用原则
定义:合成复用原则(Composite Reuse Principle,CRP)又叫组合/聚合复用原则(Composition/Aggregate Reuse Principle,CARP)。它要求在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。 如果要使用继承关系,则必须严格遵循里氏替换原则。合成复用原则同里氏替换原则相辅相成的,两者都是开闭原则的具体实现...
2019-06-04 10:36:57 308
转载 1.1软件设计原则——里氏替换原则
定义:里氏替换原则,所有引用基类的地方必须能透明地使用其子类的对象。 //定义手枪抽象类 public abstract class AbstractGun { abstract void shoot(); } //定义玩具枪抽象类 public abstract class AbstractToy { abstract void shoot(); } //实现手枪...
2019-06-03 22:38:36 162
转载 1.1软件设计原则——迪米特法则
定义:迪米特法则(Law of Demeter, LoD),也称为最少知识原则,一个对象应该对其他对象有最少的了解。 //创建女孩类 class Girl { } //创建体育委员 class GroupLeader { private List<Girl> listGirls; public GroupLeader(List<Girl>...
2019-06-03 16:43:08 95
转载 1.1软件设计原则——接口隔离原则
定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 //定义脸蛋、身材美女接口 interface IGoodBodyGirl { void goodLooking(); void niceFigure(); } //定义气质美女接口 interface IGreatTemperamentGirl { void greatT...
2019-06-03 16:29:25 94
转载 1.1软件设计原则——单一职责:Single Responsibility Principle(SRP)
它规定一个类只有一个发生变化的原因。如果多余一个导致类变更的原因,则违反了SRP。 问题来源: 分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样当修改T1时,不会使职责P2发生故障风险,同理当修改T2时,也不会使P1发生故障。 但是现实中,不管是新手,还是资深程序员,经常会违反,这不仅仅是技术的问题,还有职责扩散,就是因为某种原因,职责P被分化成粒度更细的职责P1...
2019-06-02 23:53:03 115
转载 1.1软件设计原则——依赖倒置原则(DIP)
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。 解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接...
2019-06-02 21:49:12 116
转载 1.1软件设计原则——开闭原则
开闭原则:开闭原则,对于扩展是开放的,对于修改是关闭。 原则: (1)通过接口或抽象类约束扩展,对扩展进行边界限定; (2)参数类型、引用对象尽量使用接口或者抽象类,而不是实现类; (3)抽象层尽量保持稳定,一旦确定就不允许修改; (4)将相同的变化封装在一个接口或抽象类中; (5)将不同的变化封装到不同的接口或抽象类中。 //书籍接口 interface IBook { ...
2019-05-31 21:53:04 104
WPS2019中文版
2019-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人