随笔分类 -  java23种设计模式

java23种设计模式
摘要:一、定义 迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式。 二、优点及缺点 优点: 1、访问一个聚合对象的内容而无须暴露它的内部表示。 2、遍历任务交由迭代器完成,这简化了聚合类。 3、它支持以不同方式遍 阅读全文
posted @ 2020-12-29 21:17 码在江湖 阅读(93) 评论(0) 推荐(0)
摘要:一、定义 访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。 二、优点及缺点 优点: 阅读全文
posted @ 2020-12-22 18:18 码在江湖 阅读(137) 评论(0) 推荐(0)
摘要:一、定义 中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。 二、优点及缺点 优点: 1、类之间各司其职,符合迪米特法则。 2、降低了对象之间的耦合性,使得对象 阅读全文
posted @ 2020-12-21 17:51 码在江湖 阅读(122) 评论(0) 推荐(0)
摘要:一、定义 状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 二、优点及缺点 优点: 1、结构清晰,状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足“单一职责原则”。 2、将状态 阅读全文
posted @ 2020-12-05 18:32 码在江湖 阅读(110) 评论(0) 推荐(0)
摘要:一、定义 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 二、优点及缺点 优点: 1、降低了对象之间 阅读全文
posted @ 2020-12-04 00:08 码在江湖 阅读(112) 评论(0) 推荐(0)
摘要:一、定义 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 二、优点及缺点 优点: 1、降低系统 阅读全文
posted @ 2020-11-27 11:02 码在江湖 阅读(101) 评论(0) 推荐(0)
摘要:一、定义 观察者模式中,一个被观察者管理所有相依于它的观察者物件,并且在本身的状态改变时主动发出通知。这通常通过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。 二、优点及缺点 优点: 1、观察者和被观察者之间是抽象耦合,容易扩展观察者。 2、可以建立一套触发机制。 缺点: 1、 阅读全文
posted @ 2020-11-24 09:08 码在江湖 阅读(92) 评论(0) 推荐(0)
摘要:一、定义 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 二、优点及缺点 优点 阅读全文
posted @ 2020-11-17 09:20 码在江湖 阅读(143) 评论(0) 推荐(0)
摘要:一、定义 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 二、优点及缺点 优点: 1、封装不变部分,扩展可变部分。 2、提取公共代码,便于维护。 3、 阅读全文
posted @ 2020-11-10 09:10 码在江湖 阅读(123) 评论(0) 推荐(0)
摘要:一、定义 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 分为:单纯享元模式和组享元模式。 一个复合享元对象的所有单纯享元对象元素的外蕴状态都是与复合享元对象 阅读全文
posted @ 2020-11-02 12:36 码在江湖 阅读(113) 评论(0) 推荐(0)
摘要:一、定义 组合(Composite)模式是一种对象的行为模式。将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。组合模式分为:安全组合模式和透明组合模式。 安全组合模式是指:从客户使用组合模式上看是否更安全。如果是安全的,那么就不会有发生误操作 阅读全文
posted @ 2020-10-28 08:25 码在江湖 阅读(131) 评论(0) 推荐(0)
摘要:一、定义 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 二、优点及缺点 阅读全文
posted @ 2020-10-20 18:11 码在江湖 阅读(104) 评论(0) 推荐(0)
摘要:一、定义 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 二、优点及缺点 阅读全文
posted @ 2020-10-19 19:37 码在江湖 阅读(104) 评论(0) 推荐(0)
摘要:一、定义 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式分为静态代理、动态代理。动态代理又分为JDK动态代理和CGLIB动态代理。 二、优点及缺点 静态代理优点: 1、客户端不必知道 阅读全文
posted @ 2020-10-16 09:34 码在江湖 阅读(99) 评论(0) 推荐(0)
摘要:一、定义 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 二、优点及缺点 优点: 1 阅读全文
posted @ 2020-09-25 18:41 码在江湖 阅读(175) 评论(1) 推荐(1)
摘要:一、定义 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。。 二、优点及缺点 优点: 1、可以让任何两个没有关联的类一起运行。 2、提高了类 阅读全文
posted @ 2020-09-24 20:47 码在江湖 阅读(122) 评论(0) 推荐(0)
摘要:一、定义 原型模式是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该 阅读全文
posted @ 2020-09-24 10:23 码在江湖 阅读(188) 评论(0) 推荐(0)
摘要:一、定义 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。 二、优点及缺点 优点: 1、建造者独 阅读全文
posted @ 2020-09-22 20:38 码在江湖 阅读(188) 评论(0) 推荐(0)
摘要:一、定义 抽象工厂模式是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。 二、优点及缺点 优点: 1、 阅读全文
posted @ 2020-09-21 19:23 码在江湖 阅读(150) 评论(0) 推荐(0)
摘要:一、定义 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 二、优点及缺点 优点: 1、一个调用 阅读全文
posted @ 2020-09-18 15:44 码在江湖 阅读(262) 评论(0) 推荐(0)