软件构造博客4

三种模式
创建型模式  结构型模式 行为类模式
工厂方法模式
定义用于创建对象的接口,但让子类决定哪个v 要实例化的类 工厂方法允许类将实例化推迟到子类
我们无法预测需要创建的对象的类 希望其子类指定它创建的对象 所以将责任委派给多个帮助程序子类之一
当client不知道要创建哪个具体类的实例,或者不想在client代码中指明要具体创建的实例时,用工厂方法。
定义一个用于创建对象的接口,让其子类来决定实例化哪一个类,从而使一个类的实例化延迟到其子类。
优点:
无需将特定于应用程序的类绑定到代码。代码仅处理产品接口(跟踪),因此它可以与任何用户定义的混凝土产品(FileTrace,SystemTrace)
缺点:客户可能必须创建创建者的子类,这样他们就可以创建某个特定混凝土产品。- 如果客户端无论如何都必须对创建者进行子类化,这是可以接受的,但如果不是,那么客户必须处理另一个进化点。
适配器模式:
将某个类/接口转换为client期望的其他形式 
通过增加一个接口,将已存在
的子类封装起来,client面向接口编程,从而隐藏了具体子类
装饰器模式  用每个子类实现不同的特性 对每一个特性构造子类,通过委派机制增加到对
象上
策略模式 
有多种不同的算法来实现同一个任务,但需要client根据需要动态切换算法,而不是写死在代码里
为不同的实现算法构造抽象接口,利用delegation,运行时动态传入client倾向的算法类实例
模板模式 
使用继承和重写实现模板模式
posted @ 2022-06-11 23:44  fsscg  阅读(21)  评论(0编辑  收藏  举报