3

http://developer.android.com/guide/basics/what-is-android.html 请参阅 Android 架构。

我们是否可以考虑不同的管理器,例如不同子系统的外观对象。例如,我们可以将资源管理器视为所有资源子系统的外观对象吗?

或者,班级的经理名称可能有不同的目的?

4

2 回答 2

4

我想说这应该根据具体情况进行区分,答案通常是“否”。让我解释一下为什么。

四人组将外观定义为某个系统的特定入口点,该系统本身没有任何功能,但为子系统提供了一个简单的接口,而无需删除对该子系统的访问

现在,让我们看看例如android.content.res.Resources。确实是一个统一的接口,但是我们可以不使用它来获取资源吗?不,这是不可能的:它使用android.content.res.AssetManager程序员无法使用的方法。因此Resources并没有真正简化对其他东西的访问,这个类是资源系统不可分割的一部分。这意味着这个类不能被认为是一个门面。

相反,像android.view.animation.AnimationUtils这样的类是一个门面。它没有做任何开发人员自己做不到的事情。但是,开发人员可以更轻松地调用此类的方法之一,而不是手动解析 XML 文件和创建动画类。它代表动画子系统的一些默认用途,而无需删除对系统本身的访问。因此,它完全有权被称为门面。

于 2012-02-21T09:15:50.620 回答
2

我认为你的反映是正确的。例如XXXManager,Android 框架中有一些类允许您使用指定的系统:偏好系统、搜索系统、应用程序包系统等。

我们可能会将所有此类视为 Facades。另一方面,它们提供了更具体的对象,我们应该使用这些对象来对系统进行更改。

于 2012-02-21T08:58:33.987 回答