MVP中的类可见性和实例化

时间:2014-06-11 16:18:34

标签: java android design-patterns

我希望在Android中使用MVP模式,我大致提出了以下包和类:

以下是3个套餐:

com.myview

mainActivity  //public

com.ipresenter

IPresenter  //public

com.PresenterImpl

Presenter  //protected

Presenter implements IPresenter。

我打算做的是使Presenter受到保护,并且只能在mainActivity中进行实例化。换句话说,我想限制它的可见性,只有通过mainActivity类才能创建这个类。

由于它的构造函数被隐式声明为protected,我无法在类Presenter中实例化mainActivity

如何在不必Presenter public的情况下执行此操作?如何限制包中某个(或某个)类的可见性,并且只允许通过另一个包中的另一个类创建它?

我考虑过classLoader Iterator方法,但是这是一种矫枉过正还是没有必要,因为还有其他方式/模式?

许多书似乎都建议尽可能地限制课程的可见度,所以我借此机会学习和利用良好实践。

附录:

除了前面提到的,我的最终目标是能够使用接口类型在mainActivity内声明演示者。因此,如果将来我有多个演示者,他们仍将是接口类型IPresenter

0 个答案:

没有答案