随笔分类 - 设计模式
摘要:第一、设计模式之间的关联关系和对比 1.1单例模式和工厂模式 实际业务代码中,通常会把工厂类设计为单例。 1.2策略模式和工厂模式 1.工厂模式包含工厂方法模式和抽象工厂模式是创建型模式,策略模式属于行为型模式。 2.工厂模式主要目的是封装好创建逻辑,策略模式接收工厂创建好的对象,从而实现不同的行为
阅读全文
摘要:第一、观察者模式定义 观察者模式(ObServer Pattern)定义对象之间的一对多的依赖,让多个观察者对象同时监听一个对象,当主体对象发生变化时,它的所有依赖者(观察者) 都会收到通知并更新,其实就是发布定义模式,发布者发布消息,订阅者获取消息,订阅了就能接收到消息,没有订阅就接收不到消息。
阅读全文
摘要:第一、模板方法定义 1.定义了一个操作中的算法的骨架,而将部分步骤的实现在子类中完成。 模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2.模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术,没有关联关系。 因此,在模板方法模式的类结构图中,
阅读全文
摘要:第一、责任链模式模式定义 客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象。这样就实现了请求者和接受者之间的解耦,并且在客户端可以实现动态的组合职责链。使编程更有灵活性。 定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些
阅读全文
摘要:第一、外观模式的定义 外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了 一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。 第二、外观模式应用场景 简单来说,该模式就是把一些复杂的流程封装成
阅读全文
摘要:第一、状态模式定义 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。 第二、状态模式应用场景 1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。 2.操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。这个状态通常用一
阅读全文
摘要:第一、适配器模式定义 适配器指的的是将一个系统的接口转换为另外一种形式,由原来的不能直接调用的接口变得可以调用。 适配器适用于以下几种业务场景: 1、已经存在的类,它的方法和需求不匹配(方法结果相同或相似)的情况。 2、适配器模式不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品、不同厂家
阅读全文
摘要:第一、装饰者模式定义 装饰者模式是在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能), 属于结构型模式。 第二、装饰者的应用场景 1、用于扩展一个类的功能或者给一个类添加附加职责 2、动态的给一个类添加一个功能,这些功能可以再动态的撤销 第三、装饰者
阅读全文
摘要:第一、什么是单例模式 单例模式确保一个类只有一个实例,并提供一个全局访问点,实现单例模式的方法是私有化构造函数,通过getInstance()方法实例化对象,并返回这个实例 保证在JVM中只有一个实例 幂等 JVM中如何保证实例的幂等问题 保证唯一性 饿汉、懒汉 双重检验 第二、单例模式的特点 1、
阅读全文
摘要:第一、代理模式定义 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。 举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我
阅读全文
摘要:第一、什么是策略模式 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题。 1.环境(Context)角色:持有一个Strategy的引用。 2.抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给
阅读全文