- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
到目前为止,为了实现某些功能目标,我一直在将应用程序的主要 Activity 对象作为参数传递给其他类的构造函数,然后将其存储为私有(private)变量。
我这样做,不是因为我需要访问整个 Activity ,而是因为我需要访问:
它有效,但我一直觉得我在正确的 OOD 方面做了一些根本性的错误。
特别是关于第 1 点:
由于这些原因,我尽量避免将 Activity 作为参数传递给构造函数,但在 Android 开发环境中,我发现这样做比较困难,原因我还没有完全理解。
我的问题:
最佳答案
一般来说,您应该避免保留对 Activity 的引用。如果您确实需要,请为您的 Activity 存储一个 WeakReference。这是为了避免内存泄漏。
如您所说,通过传递对 Activity 的引用,您在其他对象和您的 Activity 类之间引入了依赖关系。提供一些示例代码,以便我们可以举例说明如何重构它。
关于java - OOD 和将 Activity 作为参数传递给其他类的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5858162/
在我的主要方法中,我需要执行系统命令。我正在创建一个外部类来执行命令,以保持我的主要方法和应用程序类干净。我不确定最好或最干净的方法是否是在主方法中对命令进行设置,或者只是将类传递给配置读取器并让它提
假设我有一个门的定义: class Door { public void Lock() { // lock the door } } 这对我来说似乎很有意义,至
我试图用 Member 类和 Guest 类来表示组成员身份。问题是我需要一个组才能告诉我哪些成员是该组的成员,但我也需要一个成员才能告诉我它是哪个组的成员。 例如,使用以下内容: class Mem
如今,TDD 风靡一时,越来越多的软件商店正在转向敏捷、Scrum 等。我当然可以看到自动化测试的优势,但我也认为 TDD 与良好的面向对象设计的一些原则相矛盾。 TDD 要求您在代码中插入接缝,这些
我正在尝试构建一个只能由 GameController 修改但可供任何类访问的类。我应该研究什么设计模式来实现这一目标? *我用 Java 构建它,GameController 是我的主类。因此,我无
我想将表单传递给我制作的模型(MVC)在 OOD 原则和松散耦合方面,首选哪种态度? 1) 将新用户的所有详细信息从表单(用户名、密码、电话等)传递到模型到单个或重载方法?或者: 2) 将单个对象(例
我正在尝试了解信息隐藏的原理。假设我有一个车辆类,其中包含 getSpeed、setSpeed、getEngine、setEngine、getVIN、setVIN 等方法。为了强制执行信息隐藏,我不想
这个question与我想要完成的任务有很大关系,并提供了很好的见解。虽然我觉得答案仍然不清楚,因为我使用的是 Java 而不是 C++。 我有一个类 (SQLService),它有一个 SQL 连接
服务器-处理-客户端请求应使用哪种 OOD 设计模式? 我建议使用消息交换模式,它允许在组件和应用程序之间交换信息(即消息)。 消息交换模式 (MEP) 描述了通信协议(protocol)建立或使用通
我在理解纯 OOD 的概念上还有一点问题。 假设我们有一个人类类,我们生活在这样一个世界中,有时人类会走路(大脑控制腿),有时树木会消失(人类会注意到),有时人类会随机撞到对方。 前两种情况真的很简单
问题 我遇到了一个简单的问题,但我无法为它想出一个合适的 OOD。 我有什么: 基类 子类添加新方法 foo() 指向基类实例的指针列表 我需要什么: 我需要遍历此列表并为支持此方法的对象调用 foo
我们的架构师已经谈到在我们的代码库中使用 SOA 技术,甚至在实际上并未作为服务托管的接口(interface)上也是如此。他的要求之一是我们设计我们的接口(interface)方法,以便我们对实际实
我已经在网上搜索了一段时间了。我正在寻找用于 OOD 实践(以及一些内部 TDD 研讨会)的小样本练习。 如果有一个地方可以满足这一需求,请指出它..并关闭此问题 限制: 与语言无关的现实世界问题 小
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
到目前为止,为了实现某些功能目标,我一直在将应用程序的主要 Activity 对象作为参数传递给其他类的构造函数,然后将其存储为私有(private)变量。 我这样做,不是因为我需要访问整个 Acti
请诚实一点,必要时拆开我的作品。 所以我正在重新编写我最近制作的一个小型网络应用程序。原因很简单,代码变得非常困惑,我想学习和应用更好的 OO 设计。这个应用程序应该做的只是简单的 CRUD。我有一个
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有一个关于在基类中保存公共(public)代码并让派生类调用它的问题,即使派生类的触发器方法已从基类中分派(dispatch)。所以,base->derived->base type call st
我有以下内容: interface File { String name(); ... } interface FileService { List getAllFiles(); ..
我一直主要使用功能范例来构建我的应用程序架构,特别是对于我从头开始构建的部件/模块。现在,我也在尝试 OOD。在基于 PHP、MySQL、IdiORM 的应用程序中用于跟踪音乐轨道信息;我的下一步是构
我是一名优秀的程序员,十分优秀!