- 博客(4)
- 收藏
- 关注
原创 设计模式-Strategy模式(3)
策略模式的使用动机? 在软件构建的过程中,某些对象使用的算法可能是多种多样的,经常改变,如果将他们都编码到对象中,那么对象会变得异常复杂,并且有时候支持不会用到的算法也会是一个性能负担。 为了在运行时根据需要透明的更改对象算法,事项对象本身的解耦 一句话概括:一个类的行为或算法可以在运行时更改。 什么是策略模式? 定义了一系列算法,把他们一个一个的封装起来,并且使他们可以互相替代(变化)(就是支持变化),该模式使得算法可以独立于使用它的客户程序(稳定)而变化(扩展,子类化) 用于在什么场景使用? 如
2020-10-13 19:50:33
143
原创 设计模式-模板模式(2)
模板模式的使用动机? 某一项任务,它常常有稳定的整体操作结构,但是各个子步骤却有许多改变的需求,或者由于固有的原因(比如框架和应用的关系),而无法与业务的整体结构同时实现,为了在稳定操作系统的前提下来灵活应对各个子步骤的变化或者晚期的实现需求。 什么是模板模式? 模板模式定义了一个算法的步骤,并允许子类为一个或多个步骤提供具体实现 它使用最简洁的机制(就是虚函数的机制)为很多应用程序框架提供了灵活的扩展点,是代码复用的实现结构。 用于在什么场景使用? 对于某一个业务逻辑(算法实现)在不同的对象中有
2020-10-08 10:10:05
134
原创 设计模式-初-七大原则(1)
软件设计的金科律令 复用 变化是复用最大的挑战,所以设计模式主要解决的就是变化中的复用性 使用面向对象设计的最大优势是抵御变化 雕版印刷与活字印刷 面向对象 底层思维层面 封装,继承,多态 抽象思维层面 从宏观层次讲,面向对象的构建方式可以更加适应软件的变化,能将变化带来的影响减为最小 从微观层次来说,面向对象的方式更加强调类的“责任”,由于需求变化导致新增类型不影响原来的类型的实现,是各司其职。 对象是什么? 从语言实现层次上来看,对象封装了代码和数据 从规格层次上讲,对象是一系列可以实现的公共接口
2020-10-07 14:17:32
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人