1、如何优雅地创建对象?
那么就可以考虑使用5种创建型模式。
(1)一个类在整个应用中,一个对象足矣,则单例模式。对象唯一。
(2)一个类在整个应用中,多个相同对象且相互不影响,则原型模式。对象复制。
(3)一个类在整个应用中,构建过程复杂且有序,则建造者模式。对象复杂。注重细节。
(4)一个类在整个应用中,对象大量简单,则工厂模式,若区分产品系列,则抽象工厂。对象简单大量。注重整体。
2、如何构建软件组件?
解决实体对象之间如何互相使用。那么就可以考虑7种结构型设计模式。
(1)当前系统需要使用现有的类,但此类又已经不符合当前的需要,急需改装一下让其符合要求,主要解决当前类的不兼容问题,则适配器模式。
(2)让现有类具有动态地、可组合选择地添加一些功能,则装饰者模式。比如理发,可以动态地添加一些额外服务,按摩100元,使用高级洗发水20元等增值服务项目,这些服务是动态可选的。
(3)控制对象的访问,关心的还是原有对象,则代理模式。
(4)客户程序与多个子系统存在依赖关系,简化客户程序与各个子系统的关系,则外观模式。组合子系统对象。
(5)一个类存在两个维度的独立变化,则桥接模式。
(6)树形结构,统一树枝和树叶操作,则组合模式。
(7)共享,则享元模式。
3、