MVC疑问:一个界面对应一个控制类吗?
我的界面除了显示数据,点击界面上的菜单按钮或者其他按钮会 显示菜单界面,消息框界面,跳转到其他界面,除此之外点击其他按钮会 有http链接事件,和检测版本升级 等其他操作。
我的疑问:
1.一个界面对应一个控制类吗?(因为每个界面的需要控制的逻辑不一样,没办法为全部界面公用一个control类),如果把全部界面的业务逻辑放到一个控制类,那这个类不就非常复杂了?
2.如果把业务逻辑放到控制类里面去,那么控制类是不是没办法写单元测试了?(因为控制类需要知道其他具体的类调用相应的方法)。
3.各个界面之间的逻辑处理又是谁来管理,是不是又要一个控制类?(是不是可以这样认为各个模块间,都要有一个控制类来处理之间的逻辑事件?)
4.我目前是使用消息派发器,每个界面都注册为消息的监听者,消息派发器保存所有的监听者,当接收到界面或者其他类发过来的消息后,就发给监听者去处理。那么我的这个消息派发器 是不是属于控制类呢? 但是它没有处理业务逻辑。而是把具体的逻辑处理让各自的监听者(界面)去处理。 消息派发器适合什么情况使用?
5.其他的非界面view类,比如httpEng,版本检测等,这些类不依赖于具体的界面上,谁来管理它们呢?是不是还是需要一个控制类呢?(处理版本检测的回调,然后通知当前活动的界面显示检测的结果)。
6:是不是 其他非界面的类,比如httpEng,版本检测,排序,容器管理等都属于model? 如果是那么model里面又改怎样去管理这么多的类呢?