# java-design-pattern **Repository Path**: liuyc2021/java-design-pattern ## Basic Information - **Project Name**: java-design-pattern - **Description**: java设计模式 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-16 - **Last Updated**: 2021-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java设计模式(java-design-pattern) ## 一、创建型模式(Creational Pattern) ### 1.简单工厂模式(simple-factory-pattern) 定义一个工程类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。 优点:实现对象创建和使用的分离; ### 2.工厂方法模式(method-factory-pattern) 简称“工厂模式”、“虚拟构造器模式”或“多态工厂模式”,定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类中。 ### 3.抽象工厂模式(abstract-factory-pattern) 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 ### 4.建造者模式(builder-pattern) 将一个复杂对象的创建与它的表示分离,使得同样的构建过程可以创建不同的表示。builder既可以是抽象类,也可以是接口。 ### 5.原型模式(prototype-pattern) 使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。 ### 6.单例模式(singleton-pattern) 确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一的实例。 三要素: 1.private static instance 静态私有实例 2.private constructor 私有构造 3.public static getInstance() 公有静态访问方法 ## 二、结构性模式(Structrual Pattern) ### 1.适配器模式(adapter-pattern) 将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。 ### 2.桥接模式(bridge-pattern) 将抽象部分与它的实现部分解耦,使得两者都能够独立变化。 ### 3.组合模式(composite-pattern) 组合多个对象形成树形结构以表示具有部分-整体关系的层次接口。组合模式让客户端可以统一对待单个对象和组合对象。 包含三个角色:Component(抽象构件)、Leaf(叶子构件)、Composite(容器构件)