![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java设计模式
文章平均质量分 78
YXWik6
所有文章技术工具内容均只用于学习,如有侵权请联系删除
展开
-
java设计模式之简单工厂模式
定义: 由一个工厂对象决定创建出哪一种产品类的实例 类型:属于创建型,但不属于GOF23中设计模式 工厂模式分为三种: 1、简单工厂模式(静态工厂方法模式) 2、工厂方法模式(多态性工厂模式) 3、抽象工厂模式(工具箱模式) 适用场景: 工厂类负责创建的对象比较少。 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心。 优点: 只需要传入一个正确的参数,就可以获取你所需要的对象...原创 2019-10-12 18:01:45 · 134 阅读 · 0 评论 -
java设计模式之设计原则⑥里氏代换原则
定义: (1)一个软件实体如果使用的是一个父类的话,那 么一定适用于其子类,而且它察觉不出父类和子 类对象的区别。也就是说,在软件里面,把父类 替换成它的子类,程序的行为没有变化。 (2)一个软件实体如果使用的是一个子类的话,那 么它不能适用于其父类。 以下通过案例进行理解里氏代换原则: 首先创建一个父类Person,写一个display方法 创建一个子类Man继承了Person这个类,重写其d...原创 2019-10-12 17:27:01 · 231 阅读 · 0 评论 -
java设计模式之设计原则⑤迪米特原则
定义: (1)一个对象应该对其他对象保持最少的了解。又叫最少知道原则 (2)尽量降低类与类之间的耦合 (3)强调只和朋友交流,不和陌生人说话(意思就是对外部引入的类越少越好)。 朋友:指的是出现在成员变量,方法的输入,输出参数中的类称为成员朋友类,而出现在方法体内部的类则不属于朋友类。 优点: 降低类之间的耦合 如果过分的使用迪米特原则会产生大量的中介类,导致系统变复杂,为维护带来难度,所以我们在...原创 2019-10-12 16:38:39 · 174 阅读 · 0 评论 -
java设计模式之设计原则④接口隔离原则
定义: (1)用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。 (2)一个类对一个类的依赖应该建立在最小的接口上。 (3)建立单一接口,不要建立庞大臃肿的接口。 (4)尽量细化接口,接口中的方法尽量少。 (5)注意适度原则,一定要适度。 优点: 符合常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性,可扩展和可维护性。 以下通过案例进行理解接口隔离原则 首先创建一个I...原创 2019-10-12 15:56:28 · 197 阅读 · 0 评论 -
java设计模式之设计原则③单一职责原则
定义: 不要存在多于一个导致类变更的原因 一个类/接口/方法只负责一项职责 优点: 降低类的复杂度,提高类的可读性,提高系统的可维护性、降低变更引起的风险 以下通过案例进行理解单一职责原则: 创建一个Brid(鸟)类 创建一个Test测试类 我们会发现大雁用翅膀非是正确的,但鸵鸟飞不起来,所以我们需要进行判断 如果现在再传来一些特色的鸟类,那我们这个方法还要继续扩展,风险率就变高了,不遵从单...原创 2019-08-23 17:14:32 · 184 阅读 · 0 评论 -
java设计模式之设计原则②依赖倒置原则
定义: ⑴高层模块不应该依赖低层模块,二者都应该依赖其抽象 ⑵抽象不应该依赖细节,细节应该依赖抽象 ⑶针对接口编程,不要针对实现编程 我们通过抽象包括使用接口或者抽象类可以使各个类或模块的实现彼此独立互不影响,从而实现模块间的松耦合。 使用依赖倒置原则需要注意: 每个类尽量实现或继承自接口或抽象类,尽量避免从具体的类派生,尽量不要覆盖其基类的方法 优点: ⑴可以减少类间的耦合性 ⑵提高系统稳定性 ...原创 2019-08-23 11:41:19 · 177 阅读 · 0 评论 -
java设计模式之设计原则①开闭原则
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 强调的是用抽象构建框架,用实现扩展细节。 优点:提高软件系统的可复用性及可维护性 例如: 创建一个Course接口 获取id方法 获取name方法 获取price方法 创建一个JavaCourse类实现Course接口 设置三个属性 Integer id String name Double price 创建一个满参的构造函数 ...原创 2019-08-22 18:49:57 · 254 阅读 · 0 评论 -
java设计模式之UML③类图讲解多个类之间的关系
图来自大话设计模式 虚线和箭头指向依赖关系,也就是动物类依赖氧气类和水类 一般依赖关系是一个类使用另一个类作为参数使用 动物是一个父类 鸟继承动物 其中空心三角继承关系(箭头方向是子类指向父类) 实心菱形代表组合关系 上面的 1 和 2 代表每一个鸟有两个翅膀 这两个类有相同的生命周期 这个图表达的是大雁,鸭,企鹅是鸟的子类,继承自鸟 关联关系一般表示一个类和另一个类对象是有关联的 ...原创 2019-08-22 18:25:49 · 416 阅读 · 0 评论 -
java设计模式之UML②类图讲解
类名 属性 行为 三大部分 +: 最大的权限 public -:最小的权限 private #:protected ~:默认的 default :后面 String int double 代表类型 斜体代表的抽象,其中study()是抽象方法 所以这个类应该是抽象类 类名GeelyClass就应该改为斜体的 ...原创 2019-08-22 17:53:34 · 225 阅读 · 0 评论 -
java设计模式之UML①
UML是一个开放的方法 用于说明、可视化、构建和编写一个正在开发的面向对象的,软件密集系统的制品的开放方法 UML的特点 这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效 UML2.2分类 1.结构式图形:强调的是系统式的建模 2.行为式图形:强调系统模型中触发的事件 3.交互式图形:属于行为式图形子集合,强调系统建模中资料流程 结构式图形: 静态图(类图,对象图,...原创 2019-08-22 17:15:55 · 257 阅读 · 0 评论