![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 73
花落文心
java开发,学习中...
展开
-
装饰模式.
一般有两种方式可以实现给一个类或对象增加行为。装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任,换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不需要创造更多子类地情况下,将对象的功能加以扩展。这就是装饰模式的模式动机。装饰模式 ( Decorator Pattern ):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更加灵活。其别名也可称为包装器 ( Wrapper ),与适配器模式的别名相同,但是他们适用于不同的场合。根据翻译不同,装饰模式原创 2022-07-10 22:35:57 · 89 阅读 · 0 评论 -
组合模式.
组合模式组合模式:组合多个对象形成树形结构以表示“整体-部分”的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。组合模式属于对象的结构模式,它将对象组织到树结构中,可以用来描述整体和部分的关系。UMLComponent:抽象构件,定义参加组合对象的共有方法和属性。Leaf:叶子构件,在组合模式中白哦是叶节点对象,其下没有其他的分支,是遍历的最小单位。Composite:树枝构件,组合类,组合树枝节点和叶子节点形成一个树形结构Client:客户,通过抽原创 2022-05-30 23:06:33 · 104 阅读 · 0 评论 -
桥接模式.
桥接模式当一个抽象对象可能有多个实现时,通常用继承来协调他们。抽象类定义对该抽象的接口,而具体的子类则用不同的方式加以实现。但是此方法有时不够灵活,继承机制将抽象部分与它的实现部分固定在一起,难以对抽象部分和实现部分独立的进行修改、扩充和重用。桥接模式:将抽象部分与它的实现部分分离,使他们都可以独立的变化。它是一种对象结构型模型,又称柄体模式或接口模式。UMLAbstraction:抽象部分。抽象类,维护一个Implementor的对象。RefinedAbstraction:修正抽象部分,原创 2022-05-29 22:52:26 · 105 阅读 · 0 评论 -
适配器模式
适配器模式通常情况下,客户端可以通过目标类的接口访问它所提供的服务。有时现有的类可以满足客户类的功能需求,但是它所提供的接口不一定是客户类所期望的,这可能是因为现有类中的方法名与目标类中定义的方法名不一致等原因所导致的。这种情况下,现有的接口需要转化为客户类期望的接口,这样就保证了对现有类的重用。适配器模式可以完成这样的转化。适配器模式:将一个接口转换成用户希望的另一个接口。适配器模式使接口不兼容的那些类可以一起工作,别名为包装器(Wrapper)。适配器模式既可作为类结构型模式,也可作为对象结构型模原创 2022-05-28 21:24:59 · 120 阅读 · 0 评论 -
外观模式.
外观模式结构型模式引入外观角色后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低系统耦合度。定义外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的接口,外观模式定义了一个高层接口,这个接口使得这一子系统更容易被使用。外观模式又称门面模式,他是一种对象结构型模式。UMLFacade:外观:用于确定哪些子系统负责处理哪些请求,将客户的请求传递给相应的子系统对象处理。Subsystem classes: 子系统类群。实现原创 2022-05-21 00:04:40 · 90 阅读 · 0 评论 -
建造者模式
建造者模式创建型模式UML说明建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式用于一步步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容进行构建,用户不需要知道内部的具体构建细节。建造者模式也称为生成器模式。建造者模式包含四个角色:Builder:抽象建造者。为创建一个Product对象的各个部件指定的抽象接口ConcreteBuilder:具体建造者。实现抽象建造者Builder,构建和装配产品的各个组件。做具体的构建工作原创 2022-05-20 00:09:15 · 75 阅读 · 0 评论 -
原型设计模式
原型模式原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的而对象,无需知道任何创建细节。UMLPrototype: 抽象原型,给出所有具体原型类所需的接口,定义克隆自己的方法。ConcretePrototype: 具体原型,被克隆的对象。实现抽象原型接口,实现具体克隆方法Client: 客户,让一个原型克隆自身从而创建一个新的对象示例代码// 抽象原型interface Prototype exten原创 2022-04-01 18:10:55 · 1516 阅读 · 0 评论 -
单例设计模式
单例模式创建型模式UML说明单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。代码示例class Singleton{ // 饿汉式 private static final Singleton uniqueInstance = new Singleton(); // 通过构造函数和private关键字,限制产生多个对象 private Singletion(){ Syst原创 2022-03-20 12:17:13 · 253 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式创建型模型UML说明AbstractFactory: 抽象工厂,声明生成抽象产品的方法ConcreteFactory:具体工厂,定义生成抽象产品的具体方法,生成一个具体的产品。AbstractProduct:抽象产品,为一种产品声明接口Product:具体产品。定义具体工厂生成的具体产品对象,实现抽象产品接口Client:客户,仅使用抽象工厂类和抽象产品类声明的接口。示例代码// 抽象产品类Ainterface AbstractProductA{ void m原创 2022-03-18 23:50:13 · 243 阅读 · 0 评论 -
工厂方法模式
工厂方法模式创建型模式UML说明:Creator:抽象创建器。其核心是声明工厂方法 factoryMethod,该方法返回一个产品。任何在模式中创建对象的具体创建器类必须实现这个接口ConcreteCreator:具体创建器。实现抽象创建器的具体类,实现了工厂方法,含有与应用密切相关的逻辑,由客户调用返回一个产品实例。Product:抽象产品,定义产品接口。工厂方法模式所创建的对象的父类型,产品对象共同拥有的接口。ConcreteProduct:具体产品。实现抽象产品角色接口的类,工厂方法原创 2022-03-18 00:07:13 · 201 阅读 · 0 评论 -
简单工厂模式
简单工厂模式创建型模式UML代码实现interface Product{ }class ConcreteProduct1 implements Product{ public ConcreteProduct1{ System.out.println("ConcreteProduct1"); }}class ConcreteProduct2 implements Product{ public ConcreteProduct1{原创 2022-03-16 23:16:43 · 108 阅读 · 1 评论