什么是元数据?引用百科的描述就是:元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息;

看起来有点抽象?那我们看下具体场景有哪些:

1、数据库中的sysobjects、syscolumns,就是存储了表、视图、列等结构信息,我们可以查询到这些对象的详细信息,比如某一列的名称、类型、长度、描述……,有做过自动生成代码的朋友比较清楚其中的作用。

2、具有高度可配置性的程序,比如自定义表单、列表等,存储的结构信息也叫元数据,根据结构信息动态解析生成表单展示,有做过所见即所得的朋友应该不陌生。

上面都是具有高度可扩展性的应用系统必然应用的一些思想,当然还有其他更多的场景……

这篇文章主要是探讨一下元数据在应用系统中的重要性,在xms中如何结合上面的场景,实现灵活扩展与可维护性,同时解放了咱们码农的双手……

一直以来,咱们码农界的项目交接文档中,至少需要提供数据库字典,要求高点的还要提供流程图以及说明、类和方法的描述等,一说到文档,估计大家心中一万个不情愿,这玩意写出来谁看啊,一个不愿意写,一个不愿意看,更别提这系统经过了几手,一个人都没全部搞清楚系统逻辑,怎么写这么一个大系统的说明文档,其实这些更多是公司的一种规范要求,据我了解有9成的人不写不看,要看宁愿直接看代码,那就要看写代码的人的素质了。

有没有办法不用手写这些二X文档?easy啦,元数据管理起来吧,从此妈妈再也不用担心我熬夜写文档了,能准时回家吃饭饭!人生苦短,准时吃饭……

第一步:表

先把表的元数据管理起来,让大家一看就知道这个表是干啥用的,对应的数据库表是哪个,分别有哪些控制,在系统中一目了然

第二步:字段

记录每个字段的详细信息,各种控制开关,关联性等,每个项目的需求不一样,同一个表也会存在很多个性化的字段,在这里一目了然

第三步:关系

每个表之间的关系,在数据库中叫外键约束,通过哪个字段关联起来的,一对多,多对一,一目了然

咱们的目的是把系统做活,写死的系统有几个致命的地方:
1、简单的维护都要频繁改源码,无稳定性可言
2、客户没办法个性化,体验差
3、功能复用性低,无二次销售价值
4、难以交接,一改就乱,越改越乱

有了上面这3项的管理,后面一切扩展都轻而易举,交接时直接导出一份文档即可,省下的时间该干啥干啥去,人生苦短,你不搞python,也可以那啥啊,毕竟世界那么大

话说真有想过python再搞一套,有同样理想的咱们后续一起前进=>

最新文章

  1. Java界面
  2. Delphi 使用CHM文件制作系统帮助文档(上下文感知帮助的制作)
  3. [CF 475D] CGCDSSQ (RMQ)
  4. Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别?
  5. 【转】Java集合框架List,Map,Set等全面介绍
  6. A - Fire Net - hdu 1045(二分图匹配)
  7. MySQL学习笔记(1) - cmd登陆和退出
  8. C#高性能大容量SOCKET并发(十一):编写上传client
  9. Python学习入门基础教程(learning Python)--3.3.1 Python下的布尔表达式
  10. 【Web探索之旅】第三部分第三课:协议
  11. HTML5扩展之微数据与丰富网页摘要itemscope, itemtype, itemprop
  12. Baidu图表插件--Eharts使用(柱状图)
  13. [one day one question] Vue数组变更不能触发刷新
  14. Koa 中的错误处理
  15. 37)django-单例模式
  16. 通过DCGAN进行生成花朵
  17. PHP函数比较变量
  18. Oracle账户管理
  19. CSS鼠标经过另类做法
  20. c++ primer读书笔记之c++11(二)

热门文章

  1. 百万年薪python之路 -- 包
  2. java中的无穷大和无穷小
  3. 基于Spring Boot的问答系统之一:elasticsearch 7.2的hello world入门
  4. CountDownLatch和CycliBarrier介绍
  5. unity 动画 音频播放
  6. JAVA基础知识注意事项
  7. SYZOJ中文安装指南
  8. 对比讲解lambda表达式与传统接口函数实现方式
  9. 暑期集训20190725 加法(add)
  10. 手写SpringMVC 框架