在包内,我必须使用Facade Pattern(或类似的东西)?

时间:2011-05-27 19:26:25

标签: java package facade

我正在使用Facade访问包内的方法和类,但是在包内?我必须直接或通过外观或类似的东西访问其他类的方法吗?

示例:Package 1(Class Foo, Class Bar, Facade FooBar)

Outside Class -> FooBar --> Foo method

但在里面:

Foo --> BarFoo --> FooBar --> Bar Facade

1 个答案:

答案 0 :(得分:2)

Facade是一个单一的界面,可以轻松访问幕后的所有功能。与将组件之间的内部功能传递回系统(并通过接口返回)的要求不同。

Facade是控制面板,它们简化和隐藏内部组件,因此外部用户不会迷失在界面背后的复杂性中。一个内部组件的接口可以通过接口到达外部并通过接口进行操作,这将是一个很好的艺术展示,但是它会是一个糟糕的Facade,因为它会暴露它试图隐藏的东西。

Outside -> Facade -> Inside.

Outside -> Facade -> Inside -> Facade -> Inside.

或在你的情况下

OutSide -> FooBar -> Foo -> Bar

会没事的。