
设计模式
文章平均质量分 85
Azxcc0
在路上,永远年轻,永远热泪盈眶
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【组件协作】 观察者模式
观察者模式是一种组件间协作的设置模式, 用于一对多的通知机制目标发送通知的时候, 无需指定观察者,通知(可以携带通知信息作为参数)会自动传播(调用DoProgress函数)观察者自己确定是否需要订阅通知(订阅通知就是上面的add),目标对象对此一无所知观察者模式常常用于基于事件的UI框架中, 也是MVC模式的一个重要组成成分特别的, 调用DoProgress函数并不是通知观察者, 而是执行通知机制, 只是说执行结果为:通知所有的观察者。原创 2024-07-31 20:37:55 · 344 阅读 · 0 评论 -
【组件协作】策略模式
策略模式仍然是一个组件协作的设计模式, 和模板方法模式有异曲同工之妙。原创 2024-07-26 23:35:20 · 315 阅读 · 0 评论 -
【组件协作】模板方法
定义一个操作中的算法的骨架(稳定, 上面demo的Run方法), 而将一些步骤延迟(变化)到子类中。Template Method使得子类可以不改变(复用)一个算法的结构即可实现重定义(override重写)该算法的某些步骤那么回过头来思考一下, 为什么要把程序的主体流程放在lib库里完成?答案呼之欲出, 因为要稳定但是这样也有弊端:用方法一:业务开发人员不得不完成主流程, 其业务水平会得到很大的提升, 因为你不完成, 整个Application就无法实现。原创 2024-07-25 22:45:16 · 548 阅读 · 0 评论 -
面向对象设计原则
Shape的抽象, 并没有依赖Line和Rect的细节, 仅有一个Draw接口, 如果此时Shape依赖于Line。Line和Rect属于底层, 是变化的, 而此时MainForm依赖了低层, 违反了DIP原则。Shape是抽象, 是稳定的, 而Line和Rect是细节, 是变化的, 符合DIP原则。如果你的子类不能替代基类, 那你可能需要组合关系, 而不是继承。修改的代价: 修改源代码, 重新编译, 重新测试。动物和生物, 动物继承自生物, 人类继承自动物。汽车继承自交通工具, 摩托车继承自汽车。原创 2024-07-24 23:19:48 · 280 阅读 · 0 评论 -
【设计模式】总述
说法:“每一个模式描述了在我们周围不断重复发生的问题以及该问题的解决方案的核心”推荐书籍:《设计模式:可复用面向对象软件的基础》《面向对象分析和设计》目标:可复用手法:面向对象当然架构领域也有设计模式,比如:MVC、MVP、MVVM数据库领域也有自己的设计模式但是本设计模式主要是面向对象设计模式需要把握面向对象带来的抽象意义 理解如何利用这些机制来表达现实世界软件设计复杂的根本原因: 变化对于分解:分而治之。原创 2024-07-23 23:34:30 · 994 阅读 · 0 评论