【移动应用开发技术】清洁和新Android架构的认知诉求_第1页
【移动应用开发技术】清洁和新Android架构的认知诉求_第2页
【移动应用开发技术】清洁和新Android架构的认知诉求_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】清洁和新Android架构的认知诉求

一个根本性的变化即将改变Android的核心工作方式。但你为什么要关心?而且,为什么这是一件好事?让我们来看看。Android的新架构组件现已正式并固化。毫无疑问,ViewModels和LiveData等架构组件将使Android开发世界中新手的生活变得更加轻松。但是对于经验丰富的开发人员来说,问题将不可避免地出现在新的架构组件如何以及在何处与干净架构的概念一致,正如Bob叔叔所倡导的那样。你可能会问我们为什么要担心干净的建筑?答案很简单-清洁架构基于人类与软件开发周期的关系,这意味着它归结为一个简单而单一的“关注点分离”原则。清洁架构不仅限于特定的平台解决方案,AndroidLifecycle的概念及其周围的解决方案也是如此。考虑到这个问题,我想看看谷歌最近的一个样本,使用他们的架构组件,如何符合清洁架构的基本概念。清晰体系结构的核心概念在图片中进行了总结,对于任何了解这里提出的清洁体系结构的人来说都非常熟悉:清洁架构中的核心原则“内圈中的任何东西都不能知道外圈中的某些东西。特别是,外圈中声明的东西的名称不能被内圈中的代码所提及。这包括函数,类,变量,或任何其他指定的软件实体。“我拍的样本是Google代码实验室的“带有视图的房间”样本。尽管有许多使用方法的清洁架构实现,如MVP,MVVM等,它们为Android空间提供了可行的解决方案,但我的问题是,如果我们能够维护清洁架构的核心概念,那就是:“内部圆圈中的代码不得提及外部圆圈中声明的内容的名称“不带任何框架,只需使用Android体系结构组件即可。“带有视图的房间”是一个简单的应用程序,它列出了数据库中的单词,并允许您添加新单词。应用程序中有八个类:1.MainActivity一些担忧在LiveData作为一个元素不会在组织的任何地方出现。虽然确实LiveData是一个设施/机制,但它不是政策意义上的实体。干净的架构说,“外圈是机制。内圈是政策。”在此基础上,它将DB放在最外层。但是,如果不打破核心原则,我无法将DB放在外圈。我知道这更多地表明当前技术中的数据库如何变得更加广泛,而不是实现细节。我唯一关注的另一个问题是,当ViewModel坐在UI控制器中时,关注细节的分离感,而ListAdapter应该处理显示的数据。适配器能够观察任何变化的视图模型。如果我们这样做,那么我们可以说适配器几乎决定了从存储库端显示的数据。UI负责维护组件的正确UI外观。考虑到这一点,我在适配器中移动了视图模型,它向UI公开了一个额外的方法“insert(..)”。修改后的代码在这里:ViewModel的房间。通过这样做,我可以更清楚地了解干净的架构圈子,它LiveData是存储库使用的内部工具结论Android清洁架构是一个可以在没有大量框架的情况下实现的目标,只要我们专注于关注的认知分离,以及测试设施,它在Kotlin中变得更加语言驱动,而不会打扰关于工具和设施的性质。我们始终坚持这样的原则:“总的来说,你走的越远,软件就越高。”更高级别仅仅意味着更具包容性,就像现在的数据库实现一样。我们不再关心它是什么类型的DB,只要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论