微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

包结构问题的Android最佳实践

基于

> Android-package-structure-best-practice
> Android-Architecture

我制作了以下Android包结构:

> com.company.product.activities
> com.company.product.database
> com.company.product.fragments
> com.company.product.fragments.adapters
> com.company.product.models

但有时,根据要求,我需要有一个适配器用于自定义对话框.

我应该把它放在哪里?因为它是一个小型适配器,它主要用在对话框中的活动中,操作反映回活动.

面临的问题是:

>将太多上下文(Activity)引用传递给适配器.
>所有方法最终都是公开的,这违反了隐藏实现细节的OOP概念.
>私有适配器和包装结构有多大区别?这是Android项目包结构的标准方法吗?

解决方法

我会把适配器放在适配器包中.即使它是小型适配器,主要用于对话框中的活动,操作反映回活动,您将永远不知道该适配器将如何发展以及将在何种情况下使用它.

关于你的担忧:

>上下文引用太多 – 适配器的每个实例都有一个要引用的Context.只要您没有从适配器泄漏任何东西,那么这不是问题.您也可以通过其他实现扩展此适配器,这也将适用于这些实现.
>所有方法最终公开,这不符合OOP隐藏实现细节的概念.只要你从你的应用程序调用适配器(应该总是如此)并且你没有构建SDK,那么我真的没有看到问题.如果您担心OOP最佳实践,我宁愿担心使适配器尊重单一责任原则:不要让适配器做更多的事情而不是显示给定的数据.
>考虑到可重用性,我宁愿不将适配器作为私有(静态或非静态)类成员.要添加更多内容,有一个best practice在您处理从内部类调用私有代码时不鼓励使用私有访问.

总结一下,考虑到可重用性,单一责任和最佳实践文章,我赞成或将适配器分离到专用类.

原文地址:https://www.jb51.cc/android/318399.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐