二十三种设计模式
文章平均质量分 80
山川志~
一枚菜鸟cv工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java设计模式之策略模式
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。原创 2024-05-14 14:00:16 · 281 阅读 · 0 评论 -
二十三种设计模式——组合模式(十)
是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。原创 2023-07-19 17:40:52 · 104 阅读 · 0 评论 -
二十三种设计模式——桥接模式(九)
桥接模式是一种结构型设计模式, 可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构, 从而能在开发时分别使用。在层次结构中新增形状和颜色将导致代码复杂程度指数增长。例如添加三角形状, 你需要新增两个子类, 也就是每种颜色一个;此后新增一种新颜色需要新增三个子类, 即每种形状一个。如此以往, 情况会越来越糟糕。问题的根本原因是我们试图在两个独立的维度——形状与颜色——上扩展形状类。这在处理类继承时是很常见的问题。桥接模式通过将继承改为组合的方式来解决这个问题。原创 2023-07-11 17:53:04 · 88 阅读 · 0 评论 -
二十三种设计模式——代理模式(七)
代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。用图表示如下:原创 2023-07-06 18:37:08 · 98 阅读 · 0 评论 -
二十三种设计模式——装饰器模式(六)
装饰者和被装饰者之间必须是一样的类型,也就是要有共同的超类。在这里应用继承并不是实现方法的复制,而是实现类型的匹配。因为装饰者和被装饰者是同一个类型,因此装饰者可以取代被装饰者,这样就使被装饰者拥有了装饰者独有的行为。根据装饰者模式的理念,我们可以在任何时候,实现新的装饰者增加新的行为。如果是用继承,每当需要增加新的行为时,就要修改原程序了。下期为大家讲解代理模式!!!原创 2023-07-05 18:42:28 · 91 阅读 · 0 评论 -
二十三种设计模式——适配器模式(五)
总结一下三种适配器模式的应用场景:类适配器模式:当希望将一个类转换成满足另一个新接口的类时,可以使用类的适配器模式,创建一个新类,继承原有的类,实现新的接口即可。对象适配器模式:当希望将一个对象转换成满足另一个新接口的对象时,可以创建一个Wrapper类,持有原类的一个实例,在Wrapper类的方法中,调用实例的方法就行。接口适配器模式:当不希望实现一个接口中所有的方法时,可以创建一个抽象类Wrapper,实现所有方法,我们写别的类的时候,继承抽象类即可。原创 2023-07-04 18:00:11 · 126 阅读 · 0 评论 -
二十三种设计模式——原型模式(四)
原型模式的本质就是clone,可以解决构建复杂对象的资源消耗问题,能再某些场景中提升构建对象的效率;还有一个重要的用途就是保护性拷贝,可以通过返回一个拷贝对象的形式,实现只读的限制。下期讲解适配器模式!!!原创 2023-07-03 17:47:53 · 81 阅读 · 0 评论 -
二十三种设计模式——生成器模式(三)
封装一个复杂对象构造过程,并允许按步骤构造。原创 2023-06-30 20:41:48 · 125 阅读 · 0 评论 -
二十三种设计模式——单例模式(二)
确保一个类最多只有一个实例,并提供一个全局访问点单例模式可以分为两种:预加载和懒加载。原创 2023-06-26 16:21:05 · 109 阅读 · 0 评论 -
二十三种设计模式——工厂方法模式、抽象工厂模式(一)
定义了一个创建对象的类,由这个类来封装实例化对象的行为。原创 2023-06-25 18:01:44 · 98 阅读 · 0 评论
分享