【移动应用开发技术】目前全球最主流的四种Android架构简介与理解_第1页
【移动应用开发技术】目前全球最主流的四种Android架构简介与理解_第2页
【移动应用开发技术】目前全球最主流的四种Android架构简介与理解_第3页
全文预览已结束

下载本文档

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

文档简介

【移动应用开发技术】目前全球最主流的四种Android架构简介与理解

前言有关android架构方面的知识少之又少,而对与架构的理解有关架构的文章也都是智者见智仁者见仁。在我身边听到最多的话就是架构=What?、架构=框架、架构=设计模式、架构=MVP/MVVM。那么架构到底是什么那?架构又有何用处?它在android中又能给你带来意想不到的效果?希望有兴趣的能和各位讨论讨论。一、目前全球最主流的四种架构1、Clean架构:一种分层的架构方式,将核心业务(对应domain层)、UI相关(对应presenter层)以及数据加载(对应data层)彼此独立开来,不同的层之间由接口依次连接起来,但却又彼此不了解彼此的具体实现。2、DCI架构:DCI是数据Data场景Context交互Interactions的简称,DCI是一种特别关注行为的模式(可以对应GoF行为模式)。DCI架构真正含义可以归结如下:1.数据data:是领域对象中代表领域类概念的那部分。2.场景context:根据运行时即时调用,将活的对象实例带到符合用例需求的场景中3.交互interactions,描述需求用户心目中角色的活动算法。3、DDD领域驱动设计:2004年著名建模专家EricEvans发表了他最具影响力的著名书籍:Domain-DrivenDesign–TacklingComplexityintheHeartofSoftware(中文译名:领域驱动设计2006年3月清华出版社译本,或称DomainDriven-Designarchitecture[EvansDDD])。软件的产生过程是:分析、设计、编程、测试、部署。过去,分析领域和软件设计是分裂的,分析人员从领域中收集基本概念;而设计必须指明一组能在项目中适应编程工具构造的组件,这些组件必须能够在目标环境中有效执行,并能够正确解决应用程序出现的问题。模型设计设计(Model-DrivenDesign)抛弃了分裂分析模型与设计的做法,使用单一的模型来满足这两方面的要求。这就是领域模型。4、六边形架构架构:六边形架构(HexagonalArchitecture),又称为端口和适配器架构风格,其中的“六”具体数字没有特殊的含义,仅仅表示一个“量级”的意思,六边形的定义只是方便更加形象的理解。我们知道分层架构的重要作用就是避免耦合的出现,经典分层架构和六边形架构都是分层架构的一种,但是所发挥的作用会有些不同,经典分层架构更多的精力放在抽象的分离上,每个层的职责分的很明确,各个层的依赖关系更加抽象化,从而避免耦合的出现,而在六边形架构中,是用“组件化”的形式来避免耦合的出现,每个业务单元尽可能的最小化,然后把这些业务组件集合起来,用一个锤子把他们都拍扁,所以,在整个集合中,这些小的业务单元都是“平等的”,这种方式用一个词来概括,那就是“扁平化”。二、设计模式设计模式(DesignPattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。1、设计模式的重要性:设计模式是高级软件工程师和架构师面试基本必问的项目(先通过面试进入这个门槛我们再谈其它)设计模式是经过大量实践检验的安全高效可复用的解决方案。不要重复发明轮子,而且大多数时候你发明的轮子还没有已有的好设计模式是被主流工程师/架构师所广泛接受和使用的,你使用它,方便与别人沟通,也方便别人codereview(这个够实在吧)使用设计模式可以帮你快速解决80%的代码设计问题,从而让你更专注于业务本身设计模式本身是对几大特性的利用和对几大设计原则的践行,代码量积累到一定程度,你会发现你已经或多或少的在使用某些设计模式了架构师或者teamleader教授初级工程师设计模式,可以很方便的以大家认可以方式提高初级工程师的代码设计水平,从而有利于提高团队工程实力这些是我整理的一整套设计模式视频和代码,需要可以文末分享;四、理解架构和设计模式这样子解释架构、设计模式应该能让你更加了解它:我现在要盖一栋房子(需求),房子当然要盖得漂亮大方美观一点。去把全国最有名的设师Jack叫过来把我的房子先设计出来让我看一看(架构师),恩Jack果然是老司机,设计的我很满意。不过这个房子的左边不要盖出来要留出来一部分让我以后的孩子来用,还有右上角要多加个走廊还有房子的院前要留出啦一部分当花园。针对这么多需要更变Jack爽快的答应了,一点也不苦恼,因为Jack早就想到会变更偷偷运用了自己总结了一生的方案(设计模式)。好了搬砖的搬砖、砌墙的砌墙、工人们依靠Jack给出的设计愉快的盖着房子(程序员)。五,Android架构师专题大纲六,BAT主流Android架构技术大纲+学习路线+全套视频;架构技术详解和学习路线与资料分享整理在博客里;《BATJ一线大厂最主流的Android高级架构技术;体系详解+学习路线》(包括自定义控件、NDK、架构设计、混合式开发工程师(Reactnative,Weex)、性能优化、完整商业项目开发等)架构技术详解和学习路线与资料分享整理在博客里;《BATJ一线大厂最主流的Android高级架构技术;体系详

温馨提示

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

评论

0/150

提交评论