![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 54
各种设计模式的学习和使用经验
LingoA
手握日月摘星辰,归来仍是打工人
展开
-
设计模式学习:抽象工厂模式
在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,只需要改变具体的工厂即可使用不同的产品配置。(抽象工厂模式将具体产品的创建延迟到具体工厂的子类中,这样将对象的创建封装起来,可以减少客户端与具体产品类之间的依赖,从而使系统。这是因为抽象工厂接口中已经确定了可以被创建的产品集合,如果需要添加新产品,此时就必须去修改抽象工厂的接口,这样就涉及到抽象工厂类的以及所有子类的改变,这就违背了"开闭原则")他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产品等级结构;原创 2023-06-20 18:23:20 · 70 阅读 · 0 评论 -
设计模式学习:装饰模式
装饰模式是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。装饰器模式的核心是功能扩展,使用装饰器模式可以透明且动态地扩展类的功能。装饰器是继承的有力补充,比继承灵活,不改变原有对象的情况下动态地给一个对象扩展功能,即插即用。从代码层面来看,使用装饰器模式会出现更多的代码,更多的类,增加程序复杂性。通过使用不同装饰类以及这些装饰类的排列组合,可以实现不同效果。动态装饰时,多层装饰时会更复杂。装饰器完全遵守开闭原则。原创 2023-06-16 17:36:40 · 47 阅读 · 0 评论 -
设计模式学习:策略模式
策略模式:策略模式是一种行为型模式,它将对象和行为分开,将行为定义为一个行为接口和具体行为的实现。策略模式最大的特点是行为的变化,行为之间可以相互替换。每个if判断都可以理解为就是一个策略。本模式使得算法可独立于使用它的用户而变化优点:提供了对“开放封闭原则”的完美支持提供了管理相关的算法族的办法提供了可以替换继承关系的办法使用策略模式可以避免使用多重条件转移语句@OverrideSystem.out.println("策略A");@Override。原创 2023-06-15 16:23:44 · 49 阅读 · 0 评论 -
设计模式学习:简单工厂模式
简单工厂专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。加减乘除继承自运算类,要增加其他运算只需要再新创建一个类就好了,不会影响到其他的运算类,并且我们需要什么运算只需将操作符提供给工厂,由工厂创建对象,不需要直接创建,nice~工厂类中有必要的判断逻辑 , 可以决定根据当前的参数创建对应的产品实例 , 客户端可以免除直接创建产品对象的责任;提供专门的工厂类用于创建对象 , 客户端无需知道所创建的产品类的类名 , 只需要知道对应产品类的参数即可创建对象实例;原创 2023-06-14 15:42:09 · 49 阅读 · 0 评论