我正在做一个简单的棋盘游戏,可以在浏览器中运行。我正在考虑如何安排这个节目,我想听听你的意见。
该程序将由用户界面部分(处理按键、操纵Html等的逻辑)和数据和逻辑部分(就如何更新游戏和存储游戏状态作出决定)组成。
我可以想出两种方案来构造这个结构:
业务逻辑模块引用显示模块.
优势:
缺点:当用户执行操作时,如何通知业务逻辑?
B-显示模块引用逻辑模块.
优点:当用户执行操作时,显示可以很容易地通知业务逻辑。
缺点:显示知道业务逻辑的存在。
哪种设计更好,为什么?
发布于 2015-01-09 01:56:57
优点:显示器对业务逻辑一无所知。
你不能展示你不知道的东西。试图反转控制,因此业务逻辑调用某种类型的显示API,只会将业务逻辑的一部分转化为显示逻辑,并将两者交织在一起。然后,如果显示API或显示逻辑发生变化,业务逻辑就会中断。
方法B是更好的方法,是模型-视图-控制器体系结构的基础.
https://softwareengineering.stackexchange.com/questions/269521
复制相似问题