分离模型,视图和控制器的最佳方法

Tom*_*ito 9 java architecture model-view-controller data-structures

我正在考虑将模型视图和Controller-for Java分开并使用Eclipse的最佳方法,如果它有任何区别的话.

我曾经把每个类型的MVC分别放在自己的包中,但我开始认为这不是最好的方法:

  • com.company.client(controler)
  • com.company.client.model
  • com.company.client.view

  • com.company.another(controler)

  • com.company.another.model
  • com.company.another.view

  • com.company.yetAnother(controler)

  • com.company.yetAnother.model
  • com.company.yetAnother.view

(假设有很多不同的包,每个包都有自己的视图和模型)

我考虑过使用:

  • com.company.client
  • com.company.another
  • com.company.yetAnother

  • com.company.model.client

  • com.company.model.another
  • com.company.model.yetAnother

  • com.company.view.client

  • com.company.view.another
  • com.company.view.yetAnother

我甚至考虑过将控制器,模型和视图放在不同的项目中.也许它会更加模块化,我会更加确定视图不使用控制器,例如(因为控制器项目将包括视图,但不是相反).

那么分离M,V和C的最佳方法是什么?

(考虑网络和桌面应用,而不仅仅是网络)

Des*_*ica 6

Graal Quest!你有二维矩阵与垂直(MVC)和水平(业务规则)层...

  • 我没有找到严格的答案
  • 你的第一种方法看起来很好,因为模块化导向(非预期)
  • 对于一个小应用程序你的第二个虽然可能可以

对我来说,回答是一个词:依赖关系
继续在"包装设计/策略"中搜索; "粒度"

一些阅读

我强烈推荐这个:

祝好运!