设计模式
吴渣渣
热爱电子、热爱互联网、热爱生活
展开
-
装饰者模式
装饰者模式示例关于装饰模式的透明性相关的设计模式使用典范参考装饰者模式定义:在不改变原有对象的基础上,将功能附加到对象上,提供了比继承更有弹性的替代方案,扩展原有对象的功能类型:结构型适用场景:扩展一个类的功能或给一个类添加附加的职责动态地给一个对象添加功能优点:继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能(继承方...原创 2018-09-14 01:23:17 · 606 阅读 · 0 评论 -
简单工厂(静态工厂)
简单工厂(静态工厂)示例使用典范简单工厂(静态工厂)定义:由一个工厂对象决定创建出哪一种产品类的实例类型:创建型,不属于GOF23种设计模式适用场景:工厂类负责创建的对象比较少客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)并不关心优点:只需要传入一个正确的参数,就可以获取你所需要的对象而不需要知道其创建的细节缺点:工厂类的职责...原创 2018-09-07 13:27:19 · 9287 阅读 · 0 评论 -
组合模式
组合模式示例总结相关的设计模式使用典范参考组合模式定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使客户端对单个对象和组合对象保持一致的方式处理类型:结构型适用场景:希望客户端可以忽略组合对象与单个对象的差异时处理一个树形结构时优点:清楚地定义分层次的负责对象,表示对象的全部或部分层次让客户端忽略了层次的差异,方便对整个层次...原创 2018-09-16 12:54:42 · 3901 阅读 · 1 评论 -
外观模式(门面模式)
外观模式(门面模式)示例相关的设计模式使用典范参考外观模式(门面模式)定义:它为子系统中的一组接口提供一个统一的高层接口。这一接口使得子系统更加容易使用类型:结构型适用场景:子系统越来越复杂,增加外观模式提供简单的接口调用构建多层系统接口,利用外观对象作为每层的入口,简化层间调用优点:简化了调用过程,无需深入了解子系统,防止带来的风险减少...原创 2018-09-15 22:13:55 · 407 阅读 · 0 评论 -
抽象工厂
抽象工厂示例使用典范抽象工厂定义 :抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类创建型 :创建型适用场景:客户端(应用层)不依赖于产品类实例如何被创建、实现等细节强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现...原创 2018-09-09 18:30:12 · 14606 阅读 · 2 评论 -
工厂方法
工厂方法示例使用典范工厂方法定义 :定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行创建型 :创建型适用场景:创建对象需要大量重复的代码客户端(应用层)不依赖于产品类实例如何被创建、实现等细节一个类通过其子类来指定创建哪个对象优点:用户只需要关心所需产品对应的工厂,无需关心创建的细节;加入新产品符...原创 2018-09-08 15:22:37 · 1787 阅读 · 2 评论 -
设计模式6大原则
设计模式简述设计模式(Design pattern)就是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式6大原则总原则:开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这...原创 2018-06-17 14:35:30 · 390 阅读 · 0 评论 -
建造者模式
建造者示例相关设计模式:使用典范参考建造者定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示特征:用户只需指定需要建造的类型就可以得到他们,建造的过程和细节不需要知道类型:创建型适用场景:如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象的创建和使用分离优点:封装性好,创建和使用分离;扩展性好、建造类之间独...原创 2018-09-15 12:28:19 · 1288 阅读 · 0 评论