【问题标题】:Android OOP design basicsAndroid OOP 设计基础
【发布时间】:2011-03-09 21:28:22
【问题描述】:

这可能是非常基本的,但我已经开始失去对 OOP 原则的掌握......

我想设计几个类来减少我的主要活动类中的代码量,该类已经增长到 1000 多行。 (用于处理 UI 事件的类、用于消息处理的类、用于警报/广播的类等)。

但是,这些类需要访问受保护的 Activity 方法,例如 findViewById。

我认为使用继承来设计这些类没有意义,因为它们本身并不是真正的活动......我正在寻找类似 java 中的朋友类的东西。

有什么建议吗?对不起,如果这听起来很模糊。

【问题讨论】:

    标签: java android oop android-activity friend


    【解决方案1】:

    对于 GUI 应用程序,您应该尝试遵循的最重要的设计模式之一是 Model-View-Controller (MVC) 模式。

    Android 在倾向于 MVC 风格方面做得很好。 Activity 可以被认为是 Controller 部分,而您的 XML 标记是您的 View 部分。

    如果您的新类对 findViewById 进行大量调用,您可能无法很好地划分职责。如果你正在做大量的视图操作,你可以考虑subclassing your View classes and referencing them in your XML。如果您要添加大量事件侦听器,您可能应该继续在 Activity 子类中执行此操作,而是将检索到的数据传递给您的助手类,而不是视图对象本身。

    【讨论】:

      【解决方案2】:

      您为什么不在一个单独的类中实现消息处理程序并将“this”(当前类的实例)传递给该处理程序类,以便您可以调用这些方法。 还可以查看依赖注入设计模式。

      【讨论】:

        猜你喜欢
        • 2011-07-05
        • 2014-06-19
        • 2012-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-09
        相关资源
        最近更新 更多