
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习达内java培训等互联网编程课程,而本文我们就通过案例分析来简单了解一下,java编程组件拆分原则都有哪些。
APP分层架构
组件拆分重要是帮我们梳理出组件职责以及组件职责的边界。组件划分也会使用很多通用的设计原则和架构思想。
使用分层思想拆分
通常我们可以先使用分层架构的思想将所有组件纵向拆分为多层组件,上面层级的组件只能依赖下面层级的组件。一般至少可以划分为四层组件:
基础层-提供核心的与上层业务无关的基础能力。可以被上层组件直接依赖使用。
业务公共层-主要包含页面路由、公共UI组件、跨组件通信以及服务接口,可被上层组件直接依赖使用。
业务实现层-业务核心实现层,包含原生页面、跨平台容器、业务服务实现。组件间不能直接依赖,只能通过调用页面路由或跨组件通信组件进行使用。
APP宿主层-主要包含APP主工程、启动流程、页面路由注册、服务注册、SDK参数初始化等组件,用于构建打包生成相应的APP。
划分层级可以很好的指导我们进行组件拆分。在拆分组件时我们需要先识别它应该在哪一层,它应该以哪种调用方式被其他组件使用,新添加的功能是否会产生反向依赖,帮助我们规范组件间的依赖关系。同时按层级拆分组件也有利于底层基础组件的复用。
以下场景使用分层思想就很容易识别:
基础组件依赖业务组件
没有组件分层约束-网络库可能会依赖登录服务获取用户信息、依赖定位服务获取经纬度,引入大量的依赖变成业务组件。
有组件分层约束-网络库作为一个基础组件,它不需要关注上层业务需要携带哪些公共业务参数,同时登录/定位服务组件在网络库上层不能被反向依赖。这时候会考虑单独创建一个公共参数管理类,在APP运行时监听各种状态的变更并调用网络库更新公共参数/Cookie。
业务组件间依赖方向是否正确
登录状态切换经常会涉及到很多业务逻辑的触发,例如清空本地用户缓存、地址缓存、清空购物车数据、UI状态变更。
没有组件分层约束-可能会在登录服务内当登录状态切换时调用多个业务逻辑的触发,导致登录服务引入多个业务组件依赖。
有组件分层约束-登录组件只需要在登录状态切换时发出通知,无需知道登录状态切换会影响哪些业务。业务逻辑应该监听登录状态的变更。
识别基础组件还是业务组件
虽然很多场景下我们很容易能识别处理出来一个功能应该归属于基础组件还是业务组件,例如一个UI控件是基础组件还是业务组件。但是很多时候边界又非常的模糊,例如一个添加购物车按键应该是一个基础组件还是业务组件呢。
基础组件-如果不需要依赖业务公共层那应当划分为一个基础组件。
业务组件-依赖了业务公共层或者网络库,那就应该划分为一个业务组件。
分层思想可以很好的帮助我们管理组件间的依赖关系,并且明确每个组件的职责边界。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。