跪求!老版的step by step 2的 文本

来源:百度知道 编辑:UC知道 时间:2024/06/04 05:37:15
那位好心人有老版的step by step 2的 文本。可以发到我邮箱 leon8309@yahoo.com.cn 加我QQ61720460也行。万分感谢!有急用
是听力教材 不是其他的谢谢

Design.Patterns.Step.By.Step.2
Template Method使用了对象继承,而继承是一种很强的对象和对象之间的耦合关系,底层模块还是依赖于高层模块,比如子类要知道哪些abstract method要重写,哪些hook method可以做扩展,哪些基类资源可以利用。

strategy模式使用对象之间的组合关系来代替继承,进一步减弱高层模块和底层模块之间的依赖,让底层独立于高层,使其完全符合更符合DIP的原则, 这样底层代码不需要了解高层代码是怎么工作的,高层也不需要知道底层的实现细节,

相对于Template Method模式来说strategy模式革命的更彻底一些。

还拿Report来作一个简单的例子。

Report的输出可以是Html格式的,可以是Word格式的,也可以是PDF格式的,我们可以定义一个Interface:IReportPublisher,在IReportPublisher中定义高层模块和低层模块之间的调用协议。(或者说Contract)

Interface IReportPublisher {public void Publish()}

HTMLReportPublisher : IReportPublisher

WordReportPublisher : IReportPublisher

PDFReportPublisher : IReportPublisher

Report

{

Public void GenerateReport()

{



reportPublisher = MyContext.GetService(…)

reportPublisher.Publish(reportData)



}

}

当然实现strat