大话设计模式 第三章 单一职责原则
2013-12-10 23:26
246 查看
定义: 就一个类而言 ,应该仅有一个引起它变化的原因
我们在编程时,很自然地会给一个类加各种各样的功能,比如我们写一个窗体应用程序,会在其中加入某种商业运算的算法,比如数据库访问等,维护麻烦,复用不可能,也缺乏灵活性
举例:方块游戏的设计(3.5)
以俄罗斯方块为例
下落、旋转、碰撞判断、移动、堆积等逻辑 应该与 界面分开
如果一个类承担的职责过多,就等于把这些职责耦合在一起, 一个职责的变化会削弱或抑制这个类完成其他类的能力。 这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
方块的可以动的游戏区域,可以设计为一个二维数组 宽10,高20 比如 int[] arraySquare=new int[10][20], 那么整个方块的移动就是数组的下标变化
比如 原方块在arraySquare[3][5]上,下移就是arraySquare[3][6] 如果下移的时候按了左键,那么就是arraySquare[2][6].
每个数组的值就是是否存在方块的标志,存在为1,不存在为0. 所谓的碰撞判断就是: 比如能否左移,就是判断arraySquare[x][y]中的x-1是否小于0或者arraySquare[x-1][y]是否等于1
所谓的堆积,就是判断arraySquare[x][y+1]是否等于1,如果是,则把arraySquare[x][y]=1
消层,就是判断arraySquare[x][y]将x从0循环到9,判断arraySquare[x][y]是否都等于1,是则都清零,并将上方的数组值遍历下移一位
因此,所谓游戏逻辑,就是数字的每一项值变化的过程。
界面表示逻辑,是根据数组的数据进行绘制和擦出,或者根据键盘命令调用数组的响应方法进行改变。
因此,此程序可分为两个类,一个是游戏逻辑的类,一个是窗体类。
如果你能够想到多于一个地动机去改变一个类,那么这个类有多于一个的职责
我们在编程时,很自然地会给一个类加各种各样的功能,比如我们写一个窗体应用程序,会在其中加入某种商业运算的算法,比如数据库访问等,维护麻烦,复用不可能,也缺乏灵活性
举例:方块游戏的设计(3.5)
以俄罗斯方块为例
下落、旋转、碰撞判断、移动、堆积等逻辑 应该与 界面分开
如果一个类承担的职责过多,就等于把这些职责耦合在一起, 一个职责的变化会削弱或抑制这个类完成其他类的能力。 这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
方块的可以动的游戏区域,可以设计为一个二维数组 宽10,高20 比如 int[] arraySquare=new int[10][20], 那么整个方块的移动就是数组的下标变化
比如 原方块在arraySquare[3][5]上,下移就是arraySquare[3][6] 如果下移的时候按了左键,那么就是arraySquare[2][6].
每个数组的值就是是否存在方块的标志,存在为1,不存在为0. 所谓的碰撞判断就是: 比如能否左移,就是判断arraySquare[x][y]中的x-1是否小于0或者arraySquare[x-1][y]是否等于1
所谓的堆积,就是判断arraySquare[x][y+1]是否等于1,如果是,则把arraySquare[x][y]=1
消层,就是判断arraySquare[x][y]将x从0循环到9,判断arraySquare[x][y]是否都等于1,是则都清零,并将上方的数组值遍历下移一位
因此,所谓游戏逻辑,就是数字的每一项值变化的过程。
界面表示逻辑,是根据数组的数据进行绘制和擦出,或者根据键盘命令调用数组的响应方法进行改变。
因此,此程序可分为两个类,一个是游戏逻辑的类,一个是窗体类。
如果你能够想到多于一个地动机去改变一个类,那么这个类有多于一个的职责
相关文章推荐
- 大话设计模式-第三章 单一职责原则
- 2009-03-16读书记录:《大话设计模式》第三章——单一职责原则
- 大话设计模式笔记 单一职责原则 开放-封闭原则
- 《大话设计模式》num03-04-05---单一职责原则、开放封闭原则、依赖倒转原则
- 第三章 拍摄UFO-单一职责原则
- 第三章 单一职责原则
- 《大话设计模式》之 单一职责设计原则
- 大话设计模式之单一职责原则
- 第三章 拍摄UFO--单一职责原则
- 大话设计模式之单一职责原则
- Android大话设计模式 第二章----单一职责原则 乔峰VS慕容复
- 大话设计模式----单一职责原则
- 第3章 拍摄UFO 单一职责原则 大话设计模式
- 大话设计模式【单一职责原则】
- 大话设计师 第三章 单一职责原则
- 大话设计模式之单一职责原则 开放封闭原则 依赖倒转
- 《大话设计模式》-- 2.单一职责原则
- 大话设计模式阅读笔记-单一职责原则
- 《大话设计模式》之--第3章 拍摄UFO----单一职责原则
- 大话设计模式(一)简单工厂模式 策略模式 单一职责原则 开放-封闭原则 依赖倒置原则 装饰模式