1

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

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

Outside Class -> FooBar --> Foo method

但在里面:

Foo --> Bar或者Foo --> FooBar --> Bar正面

4

1 回答 1

2

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

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

Outside -> Facade -> Inside.

不是

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

或者在你的情况下

OutSide -> FooBar -> Foo -> Bar

就好了。

于 2011-05-27T19:39:46.207 回答