本文不详细介绍什么是整洁架构以及 MVP 模式,自行查看文章结尾相关链接文章. 整洁架构粗略介绍 下图为整洁架构最原始的结构图: Entities/Models:实体层,官方说法就是封装了企业里最通用的一部分逻辑,也可以叫 Models, 可能是只包含数据字段的对象,也可能包含方法,具有一部分业务逻辑.更加深入就是领域驱动(DDD)开发相关的内容. Use Case/Service:包含核心业务逻辑. Interface Adapter:适配层/胶水层,负责内圈的 entity 和 use ca…
上一篇文章介绍了整体架构,接下来说说怎么按照上图的分层结构实现下面的增删改查的功能. 代码结构 vue userManage └── List ├── api.ts ├── EditModal │ ├── index.tsx │ ├── index.vue │ ├── model.ts │ ├── presenter.tsx │ └── service.ts ├── index.module.less ├── index.tsx ├── index.vue ├── model.ts ├── pr…
工程化配置 还是开发体验的问题,跟开发体验有关的项目配置无非就是使用 eslint.prettier.stylelint 统一代码风格. formatting and lint eslint.prettier.stylelint 怎么配这里就不说了,网上文章太多了.想说的是eslint rule 'prettier/prettier': 'error'一定要开启,以及 stylelint rule 'prettier/prettier': true 也一定要开启. 虽然配置了eslint.pre…
如果你正在使用CocosBuilder或者是其他基于CocosBuilder源码改装而成的工具为你的游戏搭建场景或者UI,那你一定要看看这篇文章:)   你是否已经厌倦了无聊的手工publish操作?反正我是受够了.对于我这个懒人,最好的方式莫过于有一个命令行工具,可以让我把publish各种ccb的工作串到我的workflow里面.有了这个想法后,我开始上网搜索,没错,我还真找到了一点线索,在几个人的博客和官方论坛的帖子中,有人提到了这个工具,不过郁闷的是竟然没人肯告诉这个工具究竟藏在什么地方…
一.MVP介绍      随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互.同一时候让Model仅仅关系数据的处理.基于MVC概念的MVP(Model-View-Presenter)模式应运而生.      在MVP模式里通常包括4个要素:      (1)View:负责绘制UI元素.与用户进行交互(在Android中体现为Activity);      (2)View int…
概述 该示例(TODO-MVP)是后续各种示例演变的基础,它主要演示了在不带架构性框架的情况下实现M-V-P模式.其采用手动依赖注入的方式来提供本地数据源和远程数据源仓库.异步任务通过回调处理. 注意:MVP中View的概念是有所不同的: android.view.View类我们叫它 "Android View" MVP中从P接收命令的东西我们叫它"View",后文说了,就是Fragment Fragment 采用Fragment作为视图的载体有两个原因: Acti…
基于前面的TODO示例,使用Data Binding库来显示数据并绑定UI元素的响应动作. 这个示例并未严格遵循 Model-View-ViewModel 或 Model-View-Presenter 模式,其中既有View Model,也有Presenter. 用到的Data Binding库保存样板代码,该代码允许将UI元素绑定到Data Model的一个属性. 布局文件中直接绑定数据到UI元素上 事件也与动作Handler进行绑定 数据可以被监听并根据需要自动同步更新 数据绑定 在上个例子…
TexturePacker是一个常用的制作sprite sheet的工具,它提供了很多实用的功能. 一般我们制作sprite sheet都是使用他的gui版本,纯手工操作,就像下面这张图示的一样. 刚开始我们的项目也是使用这种方式,但后来发现这种方式在开发中有很大的问题.随着图片的增多,sprite sheet会越来越多,为了生成这些sprite sheet需要做很多重复的手工劳动,再考虑到给Android平台打包的sprite sheet配置和iOS的不同,还有包括图片变更,配置优化等情况,算…
在企业级的项目开发过程中,一般会采用前后端分离的开发方式,前后端通过api接口进行通信,所以接口文档就显得十分的重要. 目前大多数的公司都会引入Swagger来自动生成文档,大大提高了前后端分离开发的效率. 但是在前端开发过程中还是会出现一些问题,比如: 由于需求的频繁变更,接口也会相应的改变 多人协作时,每个人的代码风格不同,导致service文件非常混乱,不易于维护 新人接手时,不清楚接口有没有定义,导致重复定义接口 每次定义接口都是重复性工作,消耗鼠标键盘耐久 所以,如果能把这种重复性的工…
http://toughcoder.NET/blog/2015/11/29/understanding-Android-mvp-pattern/ 安卓应用开发是一个看似容易,实则很难的一门苦活儿.上手容易,看几天Java,看看四大组件咋用,就能整出个不太难看的页面来.但是想要做好,却是很难.系统框架和系统组件封装了很多东西,开发者弄几个Activity,用LinearLayout把布局组合在一起,添加点事件监听,一个应用就成型了.红海竞争,不管多么复杂的UX和业务逻辑都是一个月快速上线,二周一个…