
设计模式
bbqe597
热爱Java。喜欢设计模式。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
解决解耦的钥匙——观察者模式
介绍: 观察者模式是一个使用率非常高的模式,它最常用的地方是GUI系统、订阅——发布系统。因为这个模式的一个重要作用就是解耦,将被观察者和观察者解耦,使得它们之间的依赖性更小,甚至做到毫无依赖。以GUI系统来说,应用的UI具有易变性,尤其是前期随着业务的改变或者产品的需求修改,应用界面也会经常性变化,但是业务逻辑基本变化不大,此时GUI系统需要一套机制来应对这种情况,是的UI层与具体的业务逻辑解耦...原创 2019-09-20 17:29:00 · 148 阅读 · 0 评论 -
应用最广的设计模式——单例模式
介绍 单例模式是应用最广的模式之一,也可能是很多初级工程师唯一会使用的设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需拥有一个全局对象,这样有利于我们协调系统整体的行为。 定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 使用场景 确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一个。...原创 2019-09-21 09:51:00 · 129 阅读 · 0 评论 -
走向灵活软件之路——面向对象的六大原则
优化代码的第一步——单一职责原则 让程序更稳定、更灵活——开闭原则 定义:软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。当软件的需求发生变化时,应尽量通过扩展的方式来实现变化,而不是通过修改已有代码来实现。 构建扩展性更好的系统——里氏替换原则 定义: 第一种定义:如果对每一个类型为S的对象O1,都有类型为T的对象O2使得以T定义的所有程...原创 2019-09-21 09:14:00 · 138 阅读 · 0 评论 -
编程好帮手——代理模式
定义: 为其他对象提供一种代理以控制这个对象的访问。 使用场景: 当无法或不想直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,委托对象与代理对象需要实现相同的接口。 简单实现: 诉讼接口类: public interface ILawsuit { //提交申请 void submit(); //进行...原创 2019-09-25 13:42:03 · 283 阅读 · 0 评论 -
应用最广泛的模式——工厂方法模式
定义: 定义一个用于创建对象的接口,让子类决定实例化哪个类。 使用场景: 在任何需要生成复杂对象的地方,都可以使用工厂方法模式。复杂对象适合工厂模式,用new就可以完成创建的对象无需使用工厂模式 简单实现: 奥迪工厂: public abstract class AudiFactory { /** * 奥迪工厂 * @param clz 具体的奥...原创 2019-09-25 21:36:31 · 218 阅读 · 0 评论 -
创建型设计模式——抽象工厂模式
定义 为创建一组相关或者是相互依赖的对象提供一个接口,而不需要指定他们的具体类 使用场景 一个对象族有相同的约束时可以使用抽象工厂模式。 简单实现 抽象车厂类 public abstract class CarFactory { //生产轮胎 public abstract ITire createTire(); //生产发动机 public abstract IEng...原创 2019-10-09 22:42:31 · 133 阅读 · 0 评论