本文不详细介绍什么是整洁架构以及 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…
一.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…
周一下午在实验室写了第一篇博文,有几个人捧场,那咱就得接着下去啊.然后我觉得现在写的内容更多的偏向于谈一下我对于前端css架构的理解和前端经验的一个小总结,所以就把标题里原来的[项目总结]给删掉了.但是这不是说以后文章就不提我手里这个半死不活的类电商网站了,还得接着提,要不然拿什么自黑呢~~ [回顾一下上一篇] 上一篇里我主要针对于我最近写的一个项目的前端结构,开始介绍了一些前端结构的一些知识或者说是经验吧. 为什么前端css也有架构,为什么要考虑css的架构,怎么实现css的简单架构,这些问题…
最近半忙不忙的写了一个外包网站,网站主要功能是艺术品竞拍和艺术衍生品的销售.工程已经完成了80%左右,现在前后端代码量已经50W行左右,我主要负责的是前端设计和前端布局.下面就先放一个网站的设计图吧,因为涉及到甲方的“商业机密”,所以打一下马赛克: 这篇文章主要算是我对于这个项目的总结或者说是对于这阶段自己看的一些前端书或者经验的一个总结吧,所以设计图就不贴那么多了.整个项目的设计图由最开始的ui定了个首页稿基调,剩下的界面大部分都是我在首页稿基础上做出来的,以后有机会再唠.PS:不过话说博客园…
基于前面的TODO示例,使用Data Binding库来显示数据并绑定UI元素的响应动作. 这个示例并未严格遵循 Model-View-ViewModel 或 Model-View-Presenter 模式,其中既有View Model,也有Presenter. 用到的Data Binding库保存样板代码,该代码允许将UI元素绑定到Data Model的一个属性. 布局文件中直接绑定数据到UI元素上 事件也与动作Handler进行绑定 数据可以被监听并根据需要自动同步更新 数据绑定 在上个例子…
http://www.cnblogs.com/flyFreeZn/p/3617983.html 假设你正在使用CocosBuilder或者是其它基于CocosBuilder源代码改装而成的工具为你的游戏搭建场景或者UI,那你一定要看看这篇文章:) 你是否已经厌倦了无聊的手工publish操作?反正我是受够了. 对于我这个懒人,最好的方式莫过于有一个命令行工具,能够让我把publish各种ccb的工作串到我的workflow里面.有了这个想法后,我開始上网搜索.没错,我还真找到了一点线索.在几个人…
在企业级的项目开发过程中,一般会采用前后端分离的开发方式,前后端通过api接口进行通信,所以接口文档就显得十分的重要. 目前大多数的公司都会引入Swagger来自动生成文档,大大提高了前后端分离开发的效率. 但是在前端开发过程中还是会出现一些问题,比如: 由于需求的频繁变更,接口也会相应的改变 多人协作时,每个人的代码风格不同,导致service文件非常混乱,不易于维护 新人接手时,不清楚接口有没有定义,导致重复定义接口 每次定义接口都是重复性工作,消耗鼠标键盘耐久 所以,如果能把这种重复性的工…