Skip to content

wangdapang77/Design-Pattern-Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Design-Pattern-Learning star this repo fork this repo

简介

###6个创建形式模式 1.简单工厂模式(Simple Factory Pattern)
2.抽象工厂模式(Abstract Factory Pattern)
3.工厂方法模式(Factory Method Pattern)
4.建造者模式(Builder Pattern)
5.单例模式(Singleton Pattern)
6.原型模式(Prototype Pattern)

###7个结构型模式 1.适配器模式(Adapter Pattern)
2.装饰模式(Decorator Pattern)
3.代理模式(Proxy Pattern)
4.桥接模式(Bridge Pattern)
5.外观模式(Facade Pattern)
6.享元模式(Flyweight Pattern)
7.组合模式(Composite Pattern)

###11个行为型模式 1.模板方法模式(Template Method Pattern)
2.备忘录模式(Memento Pattern)
3.迭代器模式(Iterator Pattern)
4.访问者模式(Visitor Pattern)
5.观察者模式(Observer Pattern)
6.解释器模式(Interpreter Pattern)
7.中介者模式(Mediator Pattern)
8.职责链模式(Chain of Responsibility Pattern)
9.策略模式(Strategy Pattern)
10.命令模式(Command Pattern)
11.状态模式(State Pattern)

关于Java设计模式学习

Design-Pattern-Learning/
├── Chapter01_SimpleFactoryPattern(简单工厂模式)
│   ├── Product                                     产品接口
│   ├── ProductA                                    具体产品A(实现产品接口)
│   ├── ProductB                                    具体产品B(实现产品接口)
│   ├── ProductC                                    具体产品C(实现产品接口)
│   └── ProductFactory                              创建产品工厂
├── Chapter02_AbstractFactoryPattern(抽象工厂模式)
│   ├── ProductA_Phone                              产品A接口
│   ├── ProductB_Computer                           产品B接口
│   ├── ConcreteProductA1_Iphone                    具体A类产品A1(实现产品A接口)
│   ├── ConcreteProductA2_Lenove                    具体A类产品A2(实现产品A接口)
│   ├── ConcreteProductA3_Xiaomi                    具体A类产品A3(实现产品A接口)
│   ├── ConcreteProductB1_MacBook                   具体B类产品B1(实现产品B接口)
│   ├── ConcreteProductB2_ThinkPad                  具体B类产品B2(实现产品B接口)
│   ├── ConcreteProductB3_XiaomiAir                 具体B类产品B3(实现产品B接口)
│   ├── Factory                                     工厂接口
│   ├── Factory1_Apple                              具体Apple族工厂
│   ├── Factory2_Lenove                             具体Lenove族工厂
│   └── Factory3_Xiaomi                             具体Xiaomi族工厂
├── Chapter03_FactoryMethodPattern(工厂方法模式)
│   ├── Product                                     产品接口
│   ├── ConcreteProductA1                           具体产品A1(实现产品接口)
│   ├── ConcreteProductA2                           具体产品A2(实现产品接口)
│   ├── ConcreteProductA3                           具体产品A3(实现产品接口)
│   ├── Factory                                     工厂接口
│   ├── ProductFactoryA1                            具体产品A1工厂
│   ├── ProductFactoryA2                            具体产品A2工厂
│   └── ProductFactoryA3                            具体产品A3工厂
├── Chapter04_BuilderPattern(建造者模式)
│   ├── Builder                                     建造者接口
│   ├── ConcreteBuilder                             具体建造者
│   ├── Director                                    指挥者
│   └── Product                                     具体产品
├── Chapter05-SingletonPattern(单例模式)
│   ├── SingletonLazy                               懒汉式(线程不安全、懒加载)
│   ├── SingletonLazySynch                          懒汉式(线程安全、懒加载)
│   ├── SingletonHungry                             饿汉式(线程安全、非懒加载)
│   ├── SingletonDoubleChecked                      双重校验锁(double-checked locking)(线程安全、懒加载、JDK1.5以后)
│   ├── SingletonRegistration                       登记式(线程安全、懒加载)
│   └── SingletonEnum                               枚举(线程安全、懒加载、JDK1.5之后)
├── Chapter06_PrototypePattern(原型模式)
│   ├── ConcretePrototypeA                          具体原型A
│   ├── ConcretePrototypeB                          具体原型B
│   └── Prototype                                   原型接口
│   ├── ShallowClone(浅克隆)
│   │   ├── Father                                  引用类     
│   │   └── Person                                  原型类
│   ├── DeepClone(深克隆)
│   │   ├── Father                                  引用类     
│   │   └── Person                                  原型类
├── Chapter07_AdapterPattern(适配器模式)
│   ├── Target                                      目标接口
│   ├── ConcreteTarget                              目标接口实现
│   ├── Adaptee                                     被适配类
│   ├── ClassAdapter                                类适配器(继承父类特性)
│   └── ObjAdapter                                  对象适配器(委托)
├── Chapter08_DecoratorPattern(装饰模式)
│   ├── Component                                   抽象构件
│   ├── ConcreteComponent                           具体构件
│   ├── Decorator                                   抽象装饰类
│   ├── ConcreteDecoratorA                          具体装饰类A
│   └── ConcreteDecoratorB                          具体装饰类B
├── Chapter09_ProxyPattern(代理模式)
│   ├── Static_Proxy(静态代理)
│   │   ├── Subject                                 接口类(真实、代理访问者公同的接口)
│   │   ├── RealSubject                             真实访问类(真实访问对象/委托对象)
│   │   └── ProxySubjcet                            代理类
│   ├── Dynamic_Proxy(动态代理)
│   │   ├── JdkProxy                                JDK动态代理类,类实现接口
│   │   ├── CglibRealSubject                        普通类
│   │   └── CglibProxy                              用Cglib对普通类做代理
├── Chapter10_BridgePattern(桥接模式)
├── Chapter11_FacadePattern(外观模式)
├── Chapter12_FlyweightPattern(享元模式)
├── Chapter13_CompositePattern(组合模式)

博客地址:http://mynawang.com

QQ群:专注的程序猿 282087535 立即加入

About

设计模式学习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages