文档介绍:\(^o^)/~萤火虫\(^o^)/~
其中 product:为工厂模式所要创建的对象类型定义一个图:\(^o^)/~萤火虫\(^o^)/~
State 模式的例子。与不使用该模式相比,有哪些优点?
举例:抽象状态类定义了一个抽象方法“写程序”
与不使用该模式相比优点:
State 模式将特定的状态相关的行为封装在一个类中,由于所有状态相关的代码都存在于某
个 concrete state 中,所以通过定义新的子类可以很容易的增加新的状态和转换。
?说明你的理由。
策略模式(strategy) 属于对象行为型模式,主要定义一系列的算法,把这些算法
一个个封装成拥有共同接口的单独的类,并使他们之间互换,客户端调用他们的时候互不影
响。算法使用和算法分离,即将变化的具体算法封装起来,降低了代码的耦合度,算法提取
起来,使算法得到重用。
中介者模式(mediator ) 用一个调停对象来封装一系列的对象交互。调停者使各对象
不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。即,将
原来的两个直接引用或者依赖的对象拆开,在中间加入一个“调停”对象,使得两头的对象
分别和“调停”对象引用或者依赖。提高了原有系统的可读性,将原有系统的多对多转化为
一对多,提高了代码的可复用性。
适配器(Adapter)模式 是的原本由于接口不兼容而不能再一起的那些类可以一起工
作。如画图程序中,已实现绘制点,直线等功能。为了让客户程序在使用的时候不用关心不
同定义,定义个抽象类规范接口,当去实现绘图时,发现系统其它地方已有制图实现,但是
系统已有的方法与抽象类中规定方法不一样,这时候用适配器模式可以解决这问题。适配器
模式是为了面向接口编程中更好的复用。
Adapter 和 Proxy 模式使用上的异同之处。
适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。Adapter 模式
使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
代理模式有两个英文名字:Proxy Pattern 和 Surrogate Pattern。代理模式:为其他
对象提供一种代理以控制对这个对象的访问。说白了就是,在一些情况下客户不想或者不能
直接引用一个对象,而代理对象可以在客户和目标对象之间起到中介作用,去掉客户不能看
到的内容和服务或者增添客户需要的额外服务。\(^o^)/~萤火虫\(^o^)/~
两者的主要区别在于代理模式应用的情况是不改变接口命名的,而且是对已有接口功能
的一种控制;而适配器模式则强调接口转换。
12.