元素化设计原理及规则v1.0

一、元素设计架构

元素设计架构展示在基于元素化设计的思想下,系统各元素之间如何相互协作,并完成整个系统搭建。

架构中以Entity(数据)为中心,由Entity产生数据库表结构,并且Entity作为业务数据在Logic元素、UI元素之间流程转完成业务逻辑,最终通过Logic元素将Entity持久化于数据库。

二、元素组织结构

元素组织结构描述各个元素的划分及定义原则,使设计人员、开发人员在元素化开发思想的实现过程中保持一致,使开发的元素得到良好的组织并具可控性。

1、Entity(数据)

Entity定义业务数据结构,并自动产生数据表结构。基Entity完成所有子Entity的共有属性,子Entity根据不同业务功能产生不同业务的Entity,实现具体的业务属性。

Entity作为系统中的业务数据载体,负责承载一个业务功能所需要的所有数据,并在UI元素、Logic元素之间传递。

2、Logic(业务)元素

Logic(业务)元素接受、处理、输出(持久化)当前业务的Entity元素。基Logic完成所有子Logic元素的共有I/O(属性、功能),子Logic元素实现具体业务,不同业务产生新的Logic元素不同。

3、UI元素

UI元素根据Entity元素自动产生用户界面。由于用户界面的多样性但是又存在一定的重复性,因此将UI元素在可重复性的层次上进行抽象,定义出如:UIList、UIDetail、UIWorkFlow等UI元素。当出现新的未定义用户界面时将产生新的UI元素。

所有UI元素在都可以在更高层次上进行再抽象,故定义UI基元素,所有UI元素都直接或间接继承于UI基元素。

4、公共元素

公共元素是指所有元素都可以使用的公有元素,如:SqlHelper、系统框架、Commn(共有小功能)等。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ACM小冰成长之路

KWIC-C/C++实现

吐槽 最近我们 JavaJava 老师不知道为啥非要我用 C/C++C/C++ 来实现 KWICKWIC,但是因为没有上过课,不知道这个东西是干嘛的,所以想网上...

269100
来自专栏云端漫步

go设计模式之工厂方法

在上一篇文章中,实现了简单工厂模式,通过创建一个工厂类,在工厂方法中根据不同的产品类型创建对应的产品实例。当添加一个产品时,需要修改工厂中的创建方法,这种模式不...

15900
来自专栏编程

Java 最困扰你的那些事

啊哈Reddit(某知名国外在线问答社区),没了你我们还能在哪里从鱼目混珠的网络中提炼真正的精华?就在这杂乱无章的论坛中,的的确确存在着这样一些精辟的讨论。 比...

22680
来自专栏Android 开发者

[译] Kotlin 揭秘:理解并速记 Lambda 语法

在奥地利旅行期间,我参观了维也纳的奥地利国家图书馆。特别是国会大厅,这个令人惊叹的空间感觉就像印第安纳琼斯电影中的一些东西。房间周围的空间是这些门被装在架子上,...

9700
来自专栏微信公众号:Java团长

Java编程的21个常见错误

代码重复几乎是最常见的异味了。他也是Refactoring 的主要目标之一。代码重复往往来自于copy-and-paste 的编程风格。与他相对应OAOO 是...

12230
来自专栏Jackson0714

算法也是很过瘾的~~用面向对象实现~夜过吊桥~算法

325110
来自专栏编程微刊

JavaScript基础

18420
来自专栏写代码的海盗

SEO是件贼有意思的事情 golang入坑系列

这两天迷上了SEO。真心看不起百度的竞价排名,但作为一个商业网站,赚钱是一件无可厚非的事情。只做活雷锋,没有大金主是做不长的。做完功课后,发现百度和google...

32650
来自专栏mathor

HDOJ1257最少拦截系统

 这个题一开始我百思不得其解,后来看了一眼别人的题解标题,最长上升子序列?我当时还纳闷,这和最长上升子序列有什么关系,后来仔细一想还确实是。因为导弹拦截系统...

10420
来自专栏编程

十步零基础JavaScript学习路径

之前写过一篇26天学通前端开发,内容主要讲的就是前端学习路径,今天再来写一篇零基础的JavaScript学习路径,希望能帮编程零基础的前端爱好者指明方向。 开发...

21290

扫码关注云+社区

领取腾讯云代金券