设计模式
文章平均质量分 60
设计模式
back2childhood
cpp/java/macos
展开
-
系统设计解题思路----4S分析法
Scenario 场景即:需要设计哪些功能,设计的有多牛Service 服务即:将大系统拆分为小服务Storage 存储Scale 升级即:解决缺陷,处理可能遇到的问题。原创 2023-07-06 14:54:50 · 134 阅读 · 0 评论 -
ood解题思路----实物类面向对象
下面以vending machine为例。原创 2023-06-29 00:35:32 · 826 阅读 · 0 评论 -
ood的5C解题法(2)----预定类
以餐厅(预定座位)为例子讲解。原创 2023-06-27 23:43:43 · 77 阅读 · 0 评论 -
ood的5C解题法(1)----管理类面试对象设计
可以模拟/代替管理员日常工作的系统。下面用停车场系统做演示。原创 2023-06-19 08:27:13 · 810 阅读 · 0 评论 -
设计模式初探----设计原则
如果两个类不直接通信,那么这两个类就不应当发生直接的相互作用。如果一个类需要调用另一个类的某个方法的话,可以通过第三个类转发这个调用。一个软件实体如果使用的是一个基类,那么一定适用于其派生类。即在软件中,把基类替换成派生类,程序的行为没有变化。即面对需求,对程序的改动可以通过增加代码来完成,但是不能改动现有的代码。每个接口中不存在派生类用不到却必须实现的方法,如果不然,就要将接口拆分,使用多个隔离的接口。抽象不应该依赖细节,细节应该依赖抽象。就一个类而言,应该仅有一个引起它变化的原因。原创 2023-05-24 21:55:57 · 33 阅读 · 0 评论 -
设计模式初探----观察者模式
定义一种一(被观察类)对多(观察类)的关系,让多个观察对象同时监听一个被观察对象,被观察对象状态发生变化时,会通知所有的观察对象,使他们能够更新自己的状态。原创 2023-05-24 21:50:18 · 45 阅读 · 0 评论 -
设计模式初探----工厂模式
在简单工厂模式和工厂方法模式中,一个工厂簇只能创建一类产品;当要新增产品类时,则需要新增工厂簇。在抽象工厂中,一个工厂簇能创建多个产品类;当要新增产品类时,只需新增对应的产品创建方法即可。把选择判断移到了客户端去实现,如果想添加新功能就不用修改原来的类,直接修改客户端即可。用一个工厂来根据输入的条件产生不同的类,然后根据不同类的虚函数得到不同的结果。适用于针对不同情况创建不同类时,只需传入工厂类的参数即可,无需了解具体实现方法。定义了一个创建一系列相关或相互依赖的接口,而无需指定他们的具体类。原创 2023-05-24 21:26:48 · 979 阅读 · 0 评论 -
设计模式初探----单例模式
概述原创 2023-05-24 00:39:34 · 836 阅读 · 0 评论