11 2022 档案

摘要:简述 将各个功能拆分后分别封装(各功能解耦),需要时可自由组合(包括执行顺序) 话不多说,看个优化案例吧。 优化案例 最初版 以下是模拟客户端想服务端发送请求的业务流程。 客户端调用代码如下。 // 客户端 public class Client { public static void main( 阅读全文
posted @ 2022-11-09 22:26 spoonb 阅读(417) 评论(0) 推荐(2) 编辑
摘要:简述 运行时,为原对象拓展新的行为。 相较于传统的继承来拓展新的行为,装饰器模式更为的灵活多变,当然实现起来也更为复杂。 话不多说,看个优化案例吧。 优化案例 最初版v0 现有系统中有设定窗口Style的模块,现在想增加一个圆角的样式。以下是现有模块的代码。 class Style { public 阅读全文
posted @ 2022-11-08 00:21 spoonb 阅读(364) 评论(0) 推荐(0) 编辑
摘要:简述 对客户端隐藏目标类,创建代理类拓展目标类,并且对于客户端隐藏功能拓展的细节,使得客户端可以像使用目标类一样使用代理类,面向代理(客户端只与代理类交互)。 话不多说,看一个优化案例。 优化案例 最初版v0 目前的功能是下载可以下载文件。 public class BiliBiliDownload 阅读全文
posted @ 2022-11-06 19:18 spoonb 阅读(365) 评论(0) 推荐(0) 编辑
摘要:简述 预先定义有着不同执行过程但结果相同的算法族,运行时指定所需算法。 算法族 此处为一组有共同主题的有相同结果的不同算法的集合。 话不多说,看个优化案例。 优化案例 最初版v0 不使用策略模式的案例。四种不同的计算策略。客户端的代码如下。 // 客户端 public class Client { 阅读全文
posted @ 2022-11-02 22:13 spoonb 阅读(475) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示