Лучший подход к разделению модели, вида и контроллера
Я думаю о лучшем подходе к отделению Model View и Controller - для Java и использованию Eclipse, если это имеет какое-либо значение.
Я имел обыкновение отделять MVC каждого типа внутри его собственного пакета, но я начинаю думать, что это не лучший подход:
com.company.client (контроллер)com.company.client.modelcom.company.client.view
com.company.another (контроллер)
com.company.another.modelcom.company.another.view
com.company.yetAnother (контроллер)
com.company.yetAnother.modelcom.company.yetAnother.view(предположим, много разных пакетов, каждый со своим видом и моделью)
Я думал об использовании:
com.company.clientcom.company.anothercom.company.yetAnother
com.company.model.client
com.company.model.anothercom.company.model.yetAnother
com.company.view.client
com.company.view.anothercom.company.view.yetAnotherЯ даже думал о размещении контроллера, модели и вида в разных проектах. Возможно, это было бы еще более модульно, и я был бы более уверен, что представление не использует контроллер, например (поскольку проект контроллера будет включать представление, но не наоборот).
Так каков наилучший подход к разделению M, V и C?
(рассмотрим веб и настольные приложения, а не только веб)