![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
iostream1001001
一个积极上进的程序猿。
展开
-
1_我对设计模式的思考
一直都对设计模式有一种膜拜之情,觉得设计模式是一种高深的技术,一年前大致看了一遍23种设计模式觉得就是一些固定调用,继承,派生的方式,以为记住就可以了。而对设计原则和设计思想视而不见。 再经过了一年的学习和项目经验后在来重新学习设计模式,发现自己有了一些新的思考: 1、 设计模式是思想,不是固定套路。是为了更好地让代码适应变化。 2、 设计模式是为了应对局部变化而产生的。如果程序没有变化,那原创 2018-01-13 11:48:01 · 242 阅读 · 0 评论 -
2_工厂方法
写在前面:设计模式不是干掉变化,而是让变化集中到一个区域,方便开发。 工厂方法的核心思想就是自己不直接”new”对象,而是通过发送一些信息,问其他对象要。举个例子:有个商贸市场,用”new”的方式就是类似把生产基地建设在商贸市场里面,客户要什么,就生产什么。而通过工厂方法就是把工厂搬出去,我只要根据用户需求提交订单向工厂即可。 这样商贸市场就只需要做两个动作,接收用户请求和提交订单。把变化“原创 2018-01-13 14:31:44 · 199 阅读 · 0 评论 -
3_观察者模式
写在前面:设计模式不是干掉变化,而是让变化集中到一个区域,方便开发。 观察者模式就是现实生活情景的一个写真。在现实生活中有这样一个场景,就是在医院等待检查报告,等待的病人或者家属怎么知道报告已经出来了呢?有两种解决方案: 1、 每个病人或者家属每隔一段时间就去问,护士就根据已经出来的报告进行回答,这样就搞定了。 2、 每个病人或者家属都坐着等,护士每拿到一份报告就喊报告上面病人的名字,病人或原创 2018-01-14 20:49:48 · 147 阅读 · 0 评论 -
4_模板方法
写在前面:设计模式不是干掉变化,而是让变化集中到一个区域,方便开发。 Template Method的核心观点就是把一般的操作步骤定下来,具体细节不管。 一个现实中的例子就是买火车票(从本地出发),假设角色有老师和学生,买票方式有线上和线下。那么可以分为4种情况:1、老师线上买票;2、学生线上买票;3、老师线上买票;4、学生线上买票; 虽然有4种情况,但是当我们对买票的步骤进行一些抽象,却发原创 2018-01-16 21:27:54 · 144 阅读 · 0 评论 -
5_策略模式
写在前面:设计模式不是干掉变化,而是让变化集中到一个区域,方便开发。 策略模式最大价值就是干掉了选择,特别是switch,通过这种模式,可以干掉在代码在switch中的强耦合关系。 按照惯例,还是来个生活写照:有一个国际的税务组织,需要和各国的税务规则打交道,每个国家都有自己的税务体系,需要根据实际的业务使用对应的税法规则。 用代码来模拟这个业务,一种简单的实现如下(把对应的国家信息传原创 2018-01-17 09:38:11 · 179 阅读 · 1 评论