23种软件设计模式
设计模式分为三⼤类∶
创建型模式主要⽤于创建对象。共五种:⼯⼚⽅法模式、抽象⼯⼚模式、单例模式、建造者模式、原型模式。
结构型模式主要⽤于处理类或对象的组合。共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
⾏为型模式主要⽤于描述类或对象怎样交互和怎样分配职责。共⼗⼀种∶策略模式、模板⽅法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
⼀、⼯⼚⽅法模式( Factory Method )
也叫虚拟构造器模式,它定义⼀个⽤于创建对象的接⼝,让⼦类决定实例化哪⼀个类,使⼀个类的实例化延迟到其⼦类。在⼯⼚⽅法模式中,⼯⼚⽗类负责定义创建产品对象的公共接⼝,⽽⼯⼚⼦类则负责⽣成具体的产品对象,这样做的⽬的是将产品类的实例化操作延迟到⼯⼚⼦类中完成,即通过⼯⼚⼦类来确定究竟应该实例化哪⼀个具体产品类。
⼆、抽象⼯⼚模式(Abstract Factory)
提供⼀个创建⼀系列相关或相互依赖对象的接⼝,⽽⽆须指定它们具体的类。属于对象创建型模式。
抽象⼯⼚模式与⼯⼚⽅法模式最⼤的区别:⼯⼚⽅法模式针对的是⼀个产品等级结构,⽽抽象⼯⼚模式则需要⾯对多个产品等级结构。
三、单例模式(Singleton)
单例模式确保某⼀个类只有⼀个实例,⽽且⾃⾏实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的⽅法。例如,⼀个系统中可以存在多个打印任务,但是只能有⼀个正在⼯作的任务。单例模式的几种实现方式
四、建造者模式(Builder Pattern、⽣成器模式)
将⼀个复杂对象的构建与它的表⽰分离,使得同样的构建过程可以创建不同的表⽰。建造者模式将部件和其组装过程分开,⼀步⼀步创建⼀个复杂的对象。⽤户只需要指定复杂对象的类型就可以得到该对象,⽽⽆须知道其内部的具体构造细节。
五、原型模式(Prototype )
⽤原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许⼀个对象再创建另外⼀个可定制的对象,⽆须知道任何创建的细节。
六、适配器模式(Adapter Class/Object)
将⼀个类的接⼝转换成客户希望的另外⼀个接⼝。使得原本不相容的接⼝可以协同⼯作。适⽤性:想使⽤⼀个已经存在的类,⽽它的接⼝不符合你的需求。
想创建⼀个可以复⽤的类,该类可以与其他不相关的类或不可预见的类(即那些接⼝可能不⼀定兼容的类)协同⼯作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论