【问题标题】:MVC - where to put connection initialization code?MVC - 在哪里放置连接初始化代码?
【发布时间】:2011-07-16 11:20:10
【问题描述】:
我正在编写一个简单的测量应用程序,它将使用蓝牙与设备通信。
我的问题是把蓝牙连接初始化代码放在哪里?建模还是控制器?
根据我对 MVC 的理解,模型就是应用程序——数据模型和适用于数据的所有逻辑。控制器是模型和视图之间的某种粘合剂。
但对我来说,将连接代码放入控制器似乎会更好,因为将来可能会有新版本的设备使用 USB 或其他东西。
你认为什么更适合我的情况?
最好的问候,
马辛
【问题讨论】:
标签:
model-view-controller
design-patterns
【解决方案1】:
取决于环境,但我们遵循“瘦控制器,厚模型”的原则。话虽如此,连接函数库也不适合。
在我工作的环境中,设备连接函数最适合一个库(然后您可以拥有多个库,涵盖您将来可能想要使用的所有连接类型,因为它们正在开发中),然后在合适的地方。
如果需要,这也将允许在稍后阶段在不同的项目/软件中重复使用。
理想情况下,库应具有通用函数(例如 connectToDevice() 和 getFile() 而不是 getApplicationSpecificPhotosFromDevice ),应用特定的东西发生在控制器和使用库检索或提交数据的底层模型中。