首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/162240

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

App 组件化/模块化之路——构建开发架构思路

App 组件化/模块化开发架构思路 随着业务的发展 App 开发技术也越来越成熟,对开发者来说 App 代码量也迅速地增长到一个数量级。对于如何架构 App 已经每个开发者面临的实际问题。好的架构可以提高开发者的效率,降低维护成本。 由于业务增长引起项目中代码量激增,以及历史遗留问题和结构混乱,作为一个有代码洁癖的程序员,很早就开始思考如何组织 App 架构的问题了。目前遇到的主要有以下几点问题: 代码量激增引起结构混乱 各个模块相互引用且耦合度高 无法独立开发或者调试组件代码 无法应对组件插拔的需求(例如:产品经理今天把这个功能加上,第二天又去掉,第三天又加回来T_T) App 架构图 在阅读了大量的文档之后,根据实际项目开发遇到的问题,我总结了以下架构。由于水平有限,有不合理的欢迎拍砖 自下而上将 App 分为: 内核层 业务层 应用层 内核层 内核层是包含了为 App 提供公共服务的的一些库。例如:公共资源、网络库、日志工具、数据库、图片加载等核心库。这些是整个 App 基础库。 业务层 我认为这一层是整个 App 架构的关键。因为根据实际业务需求,这一层会分离出许多独立组件(其...

自动化测试真的能提高效率吗

要想回答这个问题,首先要搞明白另外一个问题。那就是自动化是什么? 首先回答自动化是什么?常见的答案:自动化就是写代码。如果是写代码,那与软件开发有什么区别。要想回答这个问题前提是代码是什么。代码就是人的知识与逻辑思维的一种固化方式。软件本身就是人们为解决某一问题所需要知识与做事的处理流程的固化。而测试脚本是人们测试逻辑思维的固化。一旦把知识与逻辑思维固化下来后,就相当于建立一种制度。 自动化能提高效率吗,是不可以换一种方式问,制度能不能不效率?这样一问,大家自然也就明白了,制度不一定能提高效率。只有一个好的制度才能效率。因为有了制度之后,人们的就会受制于制度,缺乏了灵活度。就像上一篇文章的自动化测试三 个发展阶段:依赖工具阶段,依赖人的阶段,依赖架构阶段。过第一阶段之后,这种感觉越明显。严重的话,会出现测试绑架开发的情况。例如软件想进行重构,但 会引起接口的变化,而接口的改变,测试脚本就要跟着改了并且改动一般都不会是一比一关系,而是一比N(这个N有多大,就看测试case设计的合理性而定 了)。如果测试改动量特别大,可能会迫使软件放弃重构。就违背了做自动化的初衷了。 现在流行的敏捷开发模...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册