摘要: 领域规则模式:在特定领域中,某些变化虽然频繁,但可以抽象为某种规则。这时候,结合特定的领域,将问题抽象为语法规则,从而给出该领域下的一般性解决方案。 典型模式:解释器模式(Interpreter)。 解释器模式 1.动机 在软件构建过程中,如果某一特定领域内的问题比较复杂,类似的结构不断重复出现,如 阅读全文
posted @ 2019-11-24 15:17 gql_ashin 阅读(247) 评论(0) 推荐(0)
摘要: 状态变化模式:在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定。状态变化模式为这一问题提供了一种解决方案。 典型模式:状态模式(State)、备忘录模式(Memento)。 一、状态模式 1.动机 在软件构建过程中,某些对象的状态如果改变,其行为也 阅读全文
posted @ 2019-11-24 15:08 gql_ashin 阅读(261) 评论(0) 推荐(0)
摘要: 对象性能模式:面向对象很好地解决了抽象地问题,但是必不可免地要付出一定地代价。对于通常情况来讲,面向对象地成本大都可以忽略不计,但某些情况,面向对象所带来地成本必须谨慎处理。 典型模式:单件模式(Singleton)、共享模式(Flyweight)。 一、单件模式 1.动机 在软件系统中,经常有这样 阅读全文
posted @ 2019-11-24 14:57 gql_ashin 阅读(255) 评论(0) 推荐(0)
摘要: 单一职责模式:在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 典型模式:装饰模式(Decorator)、桥接模式(Bridge)。 一、装饰模式 1.动机 在某些情况下我们可能会“过度地使用继承来扩展对象的 阅读全文
posted @ 2019-11-24 14:31 gql_ashin 阅读(310) 评论(0) 推荐(0)
摘要: “组件协作”模式:现代软件专业分工之后的第一个结果是“框架与应用程序的划分”,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。典型模式:Template Method、Strategy、Observer / Event。 一、模板模式 1.动机 在软件构建 阅读全文
posted @ 2019-10-20 19:43 gql_ashin 阅读(626) 评论(0) 推荐(0)
摘要: 我常常陷入深思,我的女朋友为什么又生气了?是麻辣烫不好吃,还是韩剧不好看。直到有一天,她和我说,我知道你说xxx是为了我好,也很有道理,但你这样的表达让我瞬间不想理你。我想大家也有类似的经历。很多时候,我们明明出于好心,但由于不会表达,反而适得其反。 学会表达是一件很重要的事情。生活中,良好的表达让 阅读全文
posted @ 2019-10-13 22:14 gql_ashin 阅读(1188) 评论(0) 推荐(0)
摘要: 1.课程内容: 重新认识面向对象;面向对象设计原则; 2.重新认识面向对象 1)理解隔离变化:从宏观层面来看,面向对象的构建方式更能适应软件的变化,将变化所带来的影响减为最小; 2)各司其职:从微观层面来看,面向对象更强调各个类的责任;由于需求变化导致的新增类型不应该影响原来类型的实现; 3)对象是 阅读全文
posted @ 2019-09-22 20:11 gql_ashin 阅读(413) 评论(0) 推荐(0)
摘要: 1.学习目标 1)理解松耦合设计思想; 2)掌握面向对象设计原则; 3)掌握重构技法改善设计; 4)掌握GOF核心设计模式; 2.定义 每个设计模式描述了一个在我们周围不断重复发生的问题,以及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。 3.思维模型: 1)底层思维:向 阅读全文
posted @ 2019-09-22 19:51 gql_ashin 阅读(1380) 评论(0) 推荐(0)
摘要: 简单做点自我介绍,我本科和研究生阶段学的都是机械专业课程,按理说,我应当更适合从事结构开发、机械设计类的工作,两年前甚至几个月前,我也是这么认为的。但种种原因,一方面是自己对图像处理、机器视觉一直很感兴趣,另一方面是家庭原因,最终使我走上了程序员岗位。 入职两个月了,有时候活的真的很丧,但总想改变什 阅读全文
posted @ 2019-09-15 23:44 gql_ashin 阅读(167) 评论(0) 推荐(1)