设计模式
hychyc759
这个作者很懒,什么都没留下…
展开
-
策略模式
定义:定义一系列算法,把它们一个个封装起来,并且使它们可互相替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化)。 Strategy及其子类为组件提供了一系列可重用的算法,从而可以使得类型在运行时方便地根据需要在各个算法之间进行切换; Strategy模式提供了用条件判断语句以外的另一种选择,消除条件判断语句,就是在解耦合。含有许多条件判断语句的代码通常都需要Strategy模式。 如果Strategy对象没有实例变量,那么各个上下文可以共享一个Strategy对象,从而原创 2020-10-31 15:22:48 · 161 阅读 · 0 评论 -
设计原则
1. 单一职责原则(SRP: The Single Responsibility Principle) 一个类应该仅有一个引起它变化的原因; 变化的方向隐含着类的责任。 2. 开放-封闭原则(OCP: The Open Closed Principle) open——模块的行为必须是开放的、支持扩展的,而不是僵化的。 closed——在对模块的功能进行扩展时,不应该影响或大规模影响已有的程序模块。一句话概括:一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。 核心思想就是对抽象编程,而不对具原创 2020-10-31 09:53:37 · 71 阅读 · 0 评论 -
状态模式
状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。它将一群行为封装在状态对象中,context的行为随时可委托到那些状态对象中的一个。随着时间的流逝,当前状态在状态对象中游走改变,以反映出context内部的状态,因此context的行为也会跟着改变。但是context的客户对于状态对象了解不多,甚至是浑然不觉。 状态模式类图如下所示: Context(上下文)是一个类,它可以拥有一些内部状态。不管什么时候,只要有人调用Context的request()方法,它就会被委托原创 2020-10-25 16:22:52 · 180 阅读 · 0 评论