对于设计模式, 从本质上说, 其最大的用途就是适应需求的变化. 因为有了设计模式,我们可以在设计阶段就为未来可能发生的变化留下足够的空间.我们通过一个建造现代化养猪场的故事, 来讨论一下设计模式与需要变化之间的关系.(一)设计模式最根本的意图是适应需求的变化一个机器人研发小组研制 ...
对于设计模式, 从本质上说, 其最大的用途就是适应需求的变化. 因为有了设计模式,我们可以在设计阶段就为未来可能发生的变化留下足够的空间.
我们通过一个建造现代化养猪场的故事, 来讨论一下设计模式与需要变化之间的关系.
(一)设计模式最根本的意图是适应需求的变化
一个机器人研发小组研制了一种能自动喂猪的机器人, 于是有人投资兴建了一座由机器人管理的养猪场. 这个养猪场要饲养的猪的品种包括:
- 大白猪: 又叫"大约克郡猪", 原产于英国. 全身白色,耳向前挺立,体长大,成年公猪体重三百到五百公斤,繁殖力强, 是全世界分布最广的猪型.
- 长白猪: 是"兰德瑞斯猪" 在中国的统称. 著名的腌肉型猪, 原产于丹麦. 全身白色, 体躯 特长, 耳大前垂, 背腰平直, 大腿丰满. 皮薄瘦肉多.成年公猪体重四百到五百公斤, 要求较好的饲养管理条件.
- 波中猪: 是猪的著名品种, 原产于美国, 属脂肪型, 已培育成肉用型. 全身黑色.成年公猪重三百九十到四百五十公斤, 早熟易肥, 但繁殖力较弱.
下面我们来讨论机器人小组的设计方案:
图v1-1
用UML绘制的养猪场v1.0软件动作机制如图V1-1所示。最初的设计因为猪场只引进了大白猪品种,所以没有考虑饲养其它种类猪的情况。
一个喂猪机器人管理了若干头大白猪。由于猪天性懒惰,机器人必须把饲料放到猪嘴边,然后吆喝一句,“大白猪,吃!”,猪才会进食。
在v1.0版的程序动作下,养猪场运行状况相当不错,每头猪都养得膘肥休壮,如果不是企业要不断的追求剩余价值,我们的故事也许就到此结束了。
随着养猪场的蓬勃发展,养猪场老板决定进军国际市场。可是,不同地方的人喜欢吃不同品种的猪。为了适应这一需求的变化,养猪场新引进了一批长白猪。
问题出现了:喂猪机器人照例把饲料准备好,拿到每一头猪面前,大叫一声:”大白猪,吃!“,大白猪能像往常一样愉快地进食。但轮到长白猪时,长白猪无动于衷。这下急坏了养猪场的老板。为了解决问题,喂猪机器人的研发团队紧急出动,当晚便改好了程序。
图v3-1
原标题:设计模式之 面向对象的养猪厂的故事,C#演示(一)
关键词:C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。