随笔 - 410
文章 - 0
评论 - 519
阅读 -
147万
随笔分类 - 设计模式
设计模式系列6:适配器模式(Adapter Pattern)
摘要:定义将一个类的接口转换成客户希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 --《设计模式》GoFUML类图使用场景在遗留代码复用,类库迁移方面非常有用。适配器模式要求我们尽可能地使用面向接口编程风格,这样扩展性和可维护性比较好。关键组成部分1,目标角色(Target):定义Client使用的与特定领域相关的接口。2,客户角色(Client):与符合T...
阅读全文
设计模式系列19:策略模式(Stragety Pattern)
摘要:定义定义一系列算法,将它们一个个封装起来,并且使它们可以互相替换,该模式使得算法可独立于使用它的客户而变化。 --《设计模式》GoFUML类图使用场景一个系统有许多类,而区分它们的只是他们直接的行为时。在有多种算法相似的情况下,使用if…else…所带来的复杂和难以维护。关键组成部分1,抽象策略角色(Strategy):定义公共接口,Context上下文使用这个接口调用不同的算法,一般使用接...
阅读全文
设计模式系列13:模板方法模式(Template Method Pattern)
摘要:定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 --《设计模式GoF》UML类图使用场景有多个子类共有的方法,且逻辑相同,可以抽象到父类中作为模板方法实现,避免代码重复。重要的,复杂的方法,可以考虑作为模板方法。C#代码实现using System; namespace DoFactory.GangOfFou...
阅读全文
设计模式系列1:单例模式(Singleton Pattern)
摘要:定义保证一个类仅有一个实例,并提供一个该实例的全局访问点。 --《设计模式GoF》UML类图使用场景当类只能有一个实例并且用户可以从一个众所周知的访问点访问它时。创建一个对象需要消耗过多的资源,比如IO和数据库连接等。C#代码实现1,初始版本namespace DesignPatternDemo.ConsoleApp{ /// /// 单例类 /// public c...
阅读全文
设计模式系列
摘要:包括7大设计原则和23大设计模式。7大设计原则这7大设计原则不仅是23大设计模式要去遵守的,也是我们平常开发过程中要时刻去遵守的准则,所以说非常非常重要。1,单一职责原则1)定义:就一个类而言,应该仅有一个引起它变化的原因。简而言之,就是功能要单一。2)如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责的能力。这种耦合会导致脆弱的设计,当变化发...
阅读全文