![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
设计模式
柳英俊
这个作者很懒,什么都没留下…
展开
-
设计模式--类图六大关系
类图说明依赖:只要类中用到了另一个类,那么他们就存在依赖关系泛化:泛化关系实际上就是继承关系,是依赖关系的特例实现:A类实现B类关联:对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。聚合:表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期如下,Computer中鼠标和显示器可以从电脑上分离,所以是聚合关系class Computer{ pr原创 2021-01-08 16:30:26 · 173 阅读 · 0 评论 -
设计模式--合成复用原则
尽量使用合成/聚合的方式,而不是继承原创 2021-01-08 16:05:33 · 123 阅读 · 0 评论 -
设计模式--迪米特法则
一个软件实体应当尽可能少地与其它实体发生相互作用,迪米特法则的初衷在于降低类之间的耦合直接朋友:我们称出现在成员变量、方法参数、返回值中的类为直接朋友,出现在局部变量中的类不是直接的,为陌生类。迪米特法则指导我们:不要出现陌生类类定义时尽量内敛,少使用 public 权限修饰符,尽量使用 private、protected 等,这样也是减少成为别人陌生类的方法反例:学校员工和学院员工管理/** * 学校总部员工 */class SchoolEmployee { private原创 2021-01-08 16:01:22 · 201 阅读 · 0 评论 -
设计模式--开闭原则
对拓展开放、对修改关闭有两种理解模块应该在尽量不修改代码的前提下进行拓展提供方的变动不会引起使用方的修改这就指导我们用抽象来构建框架,用实现拓展细节上一段代码,根据图形代码画图形class Shape { int type;}/** * 矩形 */class Rectangle extends Shape { Rectangle() { this.type = 1; }}/** * 这是绘制图形的类 */class Graphi原创 2021-01-08 15:12:03 · 89 阅读 · 0 评论 -
设计模式--里氏替换原则
所有引用基类的地方必须能透明地使用其子类的对象继承在带来便利的同时给程序带来了侵入性,试想一个类被继承后,父类的任意修改都要考虑到子类。如何正确的使用继承-----里式替换原则里式替换原则告诉我们在使用继承时,尽量不要重写父类的方法(子类重写了父类的方法,使用父类的地方就不能透明地使用子类了,因为逻辑不一样了)继承实际上让两个类之间耦合性增强了,在适当情况下,可以通过聚合,组合,依赖来解决问题代码class A { public int function1(int num1,原创 2021-01-08 14:24:27 · 77 阅读 · 0 评论 -
设计模式-依赖倒置原则
程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合反例public class Customer { public void shopping (YanTaShop shop) { System.out.println(shop.sell()); }}以上表示顾客在 “雁塔店” 进行购物,假如再加入一个新的店铺 “高新店”,表示修改如下public class Customer {原创 2021-01-08 13:50:57 · 60 阅读 · 0 评论 -
设计模式-接口隔离原则
类间的依赖关系应该建立在最小的接口上反例:UML图代码: interface Interface1 { void operation1(); void operation2(); void operation3(); void operation4(); void operation5(); }class B implements ltq.Interface1 { @Override原创 2021-01-08 13:37:30 · 80 阅读 · 0 评论 -
设计模式-单一原则
单一原则接口和类级别都存在单一原则,不要一味的追求类级别的单一原则,会导致类过多原创 2021-01-08 13:12:21 · 107 阅读 · 0 评论