欢迎来到天天文库
浏览记录
ID:40313202
大小:274.50 KB
页数:17页
时间:2019-07-30
《菜鸟学设计模式(28天)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、菜鸟学设计模式(28天)原则:开放——封闭原则(OCP): ——对扩展开放,对修改关闭。 里氏代换原则(LSP): ——子类型必须能够替代它们的基类型 依赖倒置原则(DIP): ——抽象不应当依赖于细节;细节应当依赖于抽象;要针对接口编程,不针对实现编程。 接口隔离原则(ISP): ——使用多个专门的接口比使用单一的总接口总要好 迪米特法则(LoD)/最少知识原则(LKP):——一个对象应当对其它对象有尽可能少的了解 模式:SimplyFactoryPattern: 当我们在买早餐的时候,早餐店里都卖得写什么呢?这点你有注意吗?众
2、多食品摆在那里,你只对营业员说你要何 种食品,他便会知道给你拿什么样的食品给你,这说明什么呢?如果用面向对象的思想来理解的话,营业员在这里就充当了一个工厂的角色,他负责根据你的请求返回你需要的食品对象。而这一点正是简单工厂模式的意图 地二天:StrategyPattern 策略模式是一种定义一系列算法的方法,概念上:都是为了完成同一个任务,只是实现不同。它可以以相同的方式 调用各种算法,降低算法类之间的耦合,利于扩展。 第三天:DecoratorPattern usingSystem;usingSystem.Collections.Generic;usingSyste
3、m.Linq;usingSystem.Text;namespaceDecoretorPattern{ publicclassWater { publicvirtualvoidAdd(){} } publicclassDecoretor:Water { publicWaterww; publicvoid SetDecoretor(Waterww) { this.ww=ww; } publicoverridevoidAdd() { if(ww!=
4、null) { ww.Add(); } } } publicclassAddIce:Decoretor { publicoverridevoidAdd() { base.Add(); Console.WriteLine("AddIce"); } } publicclassAddCoffee:Decoretor { publicoverridevoidAdd() {
5、 base.Add(); Console.WriteLine("AddCoffee"); } } classProgram { staticvoidMain(string[]args) { AddCoffeecoffee=newAddCoffee(); AddIceice=newAddIce(); coffee.SetDecoretor(newWater()); ice.SetDecoretor(coffee);
6、ice.Add(); Console.ReadLine(); } }}装饰器模式:动态的给某对象添加一些额外的职责,把类本身具备的装饰功能从其本身划分出去,当需要时,随时随地的配上需要的功能。好处既是把类的核心职责与装饰功能划分开,而且可以去除相关类的重复装饰逻辑。 第四天: ProxyPattern 代理分为远程代理 虚拟代理安全代理智能指引远程代理:WebService 隐藏对象不在同一个地址空间的事实虚拟代理:安全代理:用来控制访问时候的权限智能指引:当调用真实的对象时,处理代理的事。usingSystem;usingSystem.C
7、ollections.Generic;usingSystem.Linq;usingSystem.Text;namespaceProxyPatternDemo{ publicabstractclassSubject { publicabstractvoidRequest(); } publicclassRealRequest:Subject { publicoverridevoi
此文档下载收益归作者所有