标签:设计模式下面的原则和理念 继承和聚合 接口编程 需求变化
架构模式:架构模式描述了软件系统基本的结构组织策略,实际上就是关于软件的宏观组织的规则和指南
设计模式:设计模式描述的是在软件系统的某一局部不断重现的核心解决方案,这种解决方案以完善的设计结构出现,可以被应用到以后出现的类似的语境中
通用职责分配软件模式(GRASP模式):描述了在面向对象设计过程中把职责分配给系统中不同对象的有效经验和基本原则,GRASP模式只是对职责分配过程中的设计原则的总结和概括,而没有为每一个模式提供建议的具体机构
一开始养猪场打算用机器人来喂大白猪:
需求变化一:后来引进了长白猪:
现在的问题就是养猪场的需求不断变化的问题,加入有引进了其他种类的猪或者其他的物种,需要不断修改代码;这是就应该添加一个猪的抽象接口,并且修改猪机器人的代码,使其不考虑猪的类型,只应用抽象的猪的接口来操作所有猪的对象实例
需求变化二:让机器人来打扫猪舍(这可能隐藏了更多的变化的需求,未来机器人的功能还可能不断增加,)
更改一:
但是这里存在一个问题:图中的继承结构是在编译器件就确定了的,在运行期不能发生任何变化,因此,如果养猪场需要一个喂猪机器人和一个清洁机器人,那么必须在养猪场放进这两个具体的机器人,以此类推,如果未来养猪场还需要其他种类机器人时,对象数目很大,而且没添加一种机器人就必须修改代码中的某一个地方,
更改二:
标签:设计模式下面的原则和理念 继承和聚合 接口编程 需求变化
原文地址:http://blog.csdn.net/u012829152/article/details/42007295