我想让开发变得更简单,配置下 xml 文件,整个后台或者整个系统就可以 展现出来,仅仅是一个想法,不知道有人去做么,空闲时间不多,否则会去专心去做这件事

2014-07-23 21:49:57 +08:00
 dbfox
通过配置文件来完成大部分工作,如果配置文件无法实现,可以通过自定义类和方法去实现想要的功能

给出一个配置文件如下:通过此配置文件可以实现 一个新闻系统的 基本功能

觉得使用 mongodb 的话,是可以很容易实现这样的功能


article.xml

<entity>
<!--
名称字段
type 字段类型
max 最大
min 最小
default 默认值
render 渲染器类型,如果是 textbox ,那么说明这个字段 可以在html下 渲染为 一个 <input type="text" /> 的文本框


reader 可以定义很多类型,比如 htmleditor (用html 编辑器渲染) multextbox( 是多行文本框渲染)
-->



<field name="name" type="string" max="20" min="0" default="" render="textbox" />

<!--类别id-->
<field name="categoryid" type="int32" max="20" min="0" default="0" render="custom.cateoryies" />

<!--
创建日期
type 字段类型
max 最大
min 最小
default 默认值
render 渲染器类型

only 仅进行的操作,如果为insert 的时候,意思就是 仅仅在sql insert 的时候,插入此字段的值
must 必须进行的操作 ,must 意思是 此字段在sql insert 的时候必须加入
do 需要的操作 ,意思是在那种 sql 语句中加入此值
-->



<field name="createddate" type="string" max="50" min="0" default=":now" render=":none" do="insert" only="insert" must="insert" />

</entity>
3792 次点击
所在节点    分享创造
18 条回复
regmach
2014-07-23 22:19:53 +08:00
我不懂技术,但是听起来很赞
lotem
2014-07-23 22:49:09 +08:00
有想法蘭州。不過我想讓開發輸入法變得簡單: https://code.google.com/p/rimeime/wiki/RimeWithSchemata
qiayue
2014-07-23 23:06:39 +08:00
这一两年写了好多站,的确后台都是重复的增删改查,可以做成工具的
faceair
2014-07-23 23:09:02 +08:00
jakwings
2014-07-23 23:15:56 +08:00
下一個 Wordpress?
mcfog
2014-07-23 23:31:12 +08:00
狂用配置的,最后会死于复杂到无法理解的配置schema

复杂度超过key-value的就不应该是配置,而应该是api和code as configuration
zoowii
2014-07-23 23:46:00 +08:00
配置复杂度会超过代码.
如果只是CRUD,元编程或者自动代码生成就够了,没多大意思
markyangd
2014-07-24 00:03:05 +08:00
如果楼主懂C#,推荐你看看DevExpress XAF。
est
2014-07-24 00:07:01 +08:00
这样的配置,遇到关联CURD就是个死。死法很难看。
vicalloy
2014-07-24 00:14:28 +08:00
过多的XML配置绝对是个灾难。
之前的JAVA就是什么都用XML来配置,结果配置文件弄得异常复杂,难以理解。之后的的很多JAVA框架都该有注解之类的来简化配置。
用python之类的脚本语言来做复杂配置,远比XML要好的多。
注:我感觉django的admin挺接近楼主的需求。
oott123
2014-07-24 08:31:32 +08:00
lazyrest?
mingxiaobai
2014-07-24 14:03:02 +08:00
如果懂java,可以看看Jaxb和Castor,需要编写一些DTD,直接生成java对象,内部DAO操作封装好或者用Spring DATA框架,应该可以通过配置实现一般通用。
dbfox
2014-07-24 17:26:46 +08:00
@regmach
@lotem
@qiayue
@faceair
@jakwings
@mcfog
@zoowii
@markyangd
@est
@vicalloy
@oott123
@mingxiaobai


我觉得可以用在业务逻辑不太复杂的小项目上,比如博客系统,等一些简单的系统后台

而逻辑复杂的部分交给 灵活的程序去实现
regmach
2014-07-24 17:34:48 +08:00
@est crud不麻烦,一旦关联就好烦啊
dbfox
2014-07-24 18:00:07 +08:00
@regmach
@lotem
@qiayue
@faceair
@jakwings
@mcfog
@zoowii
@markyangd
@est
@vicalloy
@oott123
@mingxiaobai


顺便想到 mongodb 下这种方便做吧?


mongodb 不用设计数据库列字段,可以动态扩展 我觉得这一点 很灵活



比如 文章类别

articles category collection

[

{"key":"news","name":"新闻"},
{"key":"funny","name":"搞笑"},
{"key":"video","name":"视频"}

]


articles

[

{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"},
{"category":“news”,"title":"这是一篇新闻","content":"内容xxxx"}

]





我觉得写个文章系统还是很好做的
jakwings
2014-07-25 00:11:22 +08:00
@dbfox 还是觉得太抽象,希望有人先做个示例。将数据接口和页面结构的定义方式合并实在是牺牲太多,势必要写各种自定义的方法……
buliugu
2014-07-25 11:22:34 +08:00
元数据编程。。。如果lz接触过用友的ERP开发,就知道很久以前就有这类东西了,还开发一套相应的开发工具来用
jakwings
2014-07-25 20:47:42 +08:00
有类似收费服务,不过是可视化的在线服务: http://www.webhook.com
这绝对是个伟大的目标。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/124170

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX