会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
spoonb's blog
不积跬步无以至千里,不积小流无以成江海。
博客园
首页
新随笔
联系
订阅
管理
2022年11月9日
设计模式---责任链模式
摘要: 简述 将各个功能拆分后分别封装(各功能解耦),需要时可自由组合(包括执行顺序) 话不多说,看个优化案例吧。 优化案例 最初版 以下是模拟客户端想服务端发送请求的业务流程。 客户端调用代码如下。 // 客户端 public class Client { public static void main(
阅读全文
posted @ 2022-11-09 22:26 spoonb
阅读(424)
评论(0)
推荐(2)
2022年11月8日
设计模式---装饰器模式
摘要: 简述 运行时,为原对象拓展新的行为。 相较于传统的继承来拓展新的行为,装饰器模式更为的灵活多变,当然实现起来也更为复杂。 话不多说,看个优化案例吧。 优化案例 最初版v0 现有系统中有设定窗口Style的模块,现在想增加一个圆角的样式。以下是现有模块的代码。 class Style { public
阅读全文
posted @ 2022-11-08 00:21 spoonb
阅读(368)
评论(0)
推荐(0)
2022年11月6日
设计模式---代理模式
摘要: 简述 对客户端隐藏目标类,创建代理类拓展目标类,并且对于客户端隐藏功能拓展的细节,使得客户端可以像使用目标类一样使用代理类,面向代理(客户端只与代理类交互)。 话不多说,看一个优化案例。 优化案例 最初版v0 目前的功能是下载可以下载文件。 public class BiliBiliDownload
阅读全文
posted @ 2022-11-06 19:18 spoonb
阅读(372)
评论(0)
推荐(0)
2022年11月2日
设计模式---策略模式
摘要: 简述 预先定义有着不同执行过程但结果相同的算法族,运行时指定所需算法。 算法族 此处为一组有共同主题的有相同结果的不同算法的集合。 话不多说,看个优化案例。 优化案例 最初版v0 不使用策略模式的案例。四种不同的计算策略。客户端的代码如下。 // 客户端 public class Client {
阅读全文
posted @ 2022-11-02 22:13 spoonb
阅读(480)
评论(0)
推荐(2)
2022年10月27日
设计模式---模板方法模式
摘要: 简述 提取算法中不变的部分封装成方法,变化的部分延迟到子类。 延迟到子类 这个说法在学习设计模式的时候经常出现,实际就是利用多态在子类中重写方法,使得实行时根据实例的类型调用不同的方法。 话不多说,看个案例。 优化案例 最初版v0 连接数据库我们有很多种方式,JDBC、JNDI、ODBC等等。下面是
阅读全文
posted @ 2022-10-27 23:26 spoonb
阅读(401)
评论(0)
推荐(2)
2022年10月3日
设计模式---适配器模式
摘要: 简述 类型:结构型 目的:解决接口不兼容问题。 话不多说,看个案例吧。 优化案例 最初版v0 在真实的开发场景中,系统的每个模块都是分配给不同的团队或个人来开发的。这使得事前沟通变得尤为重要,且沟通问题也时有发生。现在公司有两个模块无法兼容,难道只能重写其中的一个吗? class User { St
阅读全文
posted @ 2022-10-03 22:32 spoonb
阅读(402)
评论(1)
推荐(0)
2022年9月30日
设计模式---抽象工厂模式
摘要: 简述 类型:创建型 目的:实现对客户端中对象族的平替。 对象族 具有共同主题的一组对象的集合。比如,华为的手机,笔记本,平板可以统称为华为族。 我们借以下案例来说说如何使用抽象工厂模式平替对象族。 优化案例 最初版 // 上传模块的接口 public interface Uploader { voi
阅读全文
posted @ 2022-09-30 22:24 spoonb
阅读(530)
评论(0)
推荐(1)
2022年9月27日
设计模式---组合模式
摘要: 简述 类型:结构型 目的:将对象集合组合成树形结构,使客户端可以以一致的方式处理单个对象(叶子节点)和组合对象(根节点) 话不多说,上优化案例。 优化案例 最初版v0 不使用组合模式。 现有一个文件和目录的管理模块。如样例。 public class File { // 文件类 private St
阅读全文
posted @ 2022-09-27 23:54 spoonb
阅读(480)
评论(0)
推荐(1)
2022年9月25日
设计模式---享元模式
摘要: 简述 类型:结构型 目的:降低对象创建时大量属性也随之被新建而带来的性能上的消耗 话不多说,我们看一个案例。 优化案例 最初版v0 现在需要采购一批办公用的电脑,以下是Computer类的定义。 public class Computer { private String sn; // 序列号,电脑
阅读全文
posted @ 2022-09-25 23:53 spoonb
阅读(595)
评论(0)
推荐(2)
2022年9月24日
设计模式---桥接模式
摘要: 简述 类型:结构型 目的:通过抽离出多个维度相互组合(聚合)来代替继承,简化系统。 话不多说,看个优化案例。 优化案例 现有系统中,对于画面窗口的边框有一套样式来控制是否有圆角。因为新的需求,需要增加两套样式,一套控制边框线条的颜色(红、黄、蓝),一套控制边框有无阴影。我们来看看几种实现方式。 最初
阅读全文
posted @ 2022-09-24 23:50 spoonb
阅读(552)
评论(0)
推荐(1)
下一页
公告