DesignOne的一些讨论,记录下来,权做参考

来源:互联网 发布:linux 显示命令路径 编辑:程序博客网 时间:2024/06/05 21:02

cm4ever发表于:2008-08-07 19:53:1710楼 得分:0
看了demo,楼主做得不错。
我一直在做类似的东西。
首先这些代码生成的东西,概念上来讲应该属于模型转换,模型驱动架构(MDA)。
市面上已经有很多这种产品,java开源界有appfuse,收费的共享软件有个很老的,忘了名字。
你可以用这几个关键字google一下,在论坛里问没几个人知道。

估计你是用delphi写的。

有几点问题。
1.开发了多久,做到这个程度,我感觉已经花了不少时间。
2.整个结构还是比较专业,只有专业的程序员才能搞得定。
3.用了模板,模板语言自己解析?相当于自己写了语法分析器,挺厉害的了。

建议你内核和工具分离。内核可以考虑开源,只提供类似java的ant的脚本来操作。这样参与和关注的人才多。
然后卖开发工具。

还是有可能搞成delphi界知名的开发工具的,但是在全世界开发工具都不值钱的今天,实在不知道市场有多大。
 
修改 删除 举报 引用 回复  
 
design1
design1
 发表于:2008-08-08 11:07:2511楼 得分:0
 

呵呵,谢谢cm4ever这么认真的回复,

1.开发了多久,做到这个程度,我感觉已经花了不少时间。
  -真正开发时间并不多,如果算从引起写这么一个工具的想法开始到出这个版本,时间应该算长的吧,大约两年,当时主要是工作中曾经有过一次写重复代码生成的经历,后面就逐渐逐渐想的比较多了,然后今年初开始利用业余时间动手写的,上面提到一点,软件是通过自身来不断构建的,这点非常有意思,主要是想既然是一个这种工具,那首先就拿软件自身开刀,如果对于自身都不行,那说明这种技术就没什么用,因此过程中就主要是一直在尝试这种技术能够带来多大的影响,这对以前自身的开发方法是一个挑战,第一个版本比较快就写好了,主要写模板代码(记住软件是自身不断构建的这一点),然后就是尝试在软件的不断的完善过程中,这种MDA的方式如何适应这种变化,以何种姿态融合最好,由于开发方法和以往不同,因此这种尝试过程也是比较折磨思维的,呵呵!
2.整个结构还是比较专业,只有专业的程序员才能搞得定。
呵呵,这个.......多谢$#@$#$%$#&&*7**&^*(暗暗想了下,这个问题怎么回答呢?&*&^^*)
3.用了模板,模板语言自己解析?相当于自己写了语法分析器,挺厉害的了。
  模板语言是自己解析的,不过还没达到语法分析器的程度,过奖了!

现在的结构基本上内核和工具是完全分离的,你可以看看程序的结构,会发现有几个DLL,是COM接口方式的,用这几个DLL,基本上能够完成这个工具的所有事情了,你所看到的界面只是一个UI外壳,值得注意的是,UI外壳偶也完全用了模板代码的方式来构建!

至于收费,这个偶暂时还没想过,呵呵,主要是开始想用来提高自己的其他项目的开发效率的,所以等于能够帮偶很多忙了,如果能够对其他人有所帮助,那就更好了!

 
 
修改 删除 举报 引用 回复  
 
 加为好友
发送私信
在线聊天
 cm4ever
小P
等级:
 发表于:2008-08-08 12:29:4412楼 得分:20

对于你说的"软件是自身不断构建的",另一种说法是螺旋式上升,或者交替式上升。
不知道你的自身不断构建包括哪些部分,有没有包括配置数据管理内核(meta data Manager)?配置数据元数据模型(meta data DOM)的映射?
用户界面GUI的自身不断构建这个你应该做了。

对于问题2--如何让元数据模型更大众化,这个要看对配置数据的抽象层度了,目前我有一定的突破,毕竟做了4年了。
但是目前因为要做项目赚钱吃饭,停滞几个月了。

语法分析器不一定要非常严谨才算,自己分析就算是语法分析器了,只是实现上的设计和完整度的差别,这个是非常值得肯定的。

从我自己的经历来说,做来自己用业余时间也勉强够;
但要想推广,产生一定的社会意义,要考虑的事情就多了;
如果要考虑产生经济价值,考虑的事情就更多。
 
修改 删除 举报 引用 回复  
 
 加为好友
发送私信
在线聊天
 design1
design1
等级:
 发表于:2008-08-08 14:06:0813楼 得分:0
不知道你的自身不断构建包括哪些部分,有没有包括配置数据管理内核(meta data Manager)?配置数据元数据模型(meta data DOM)的映射? ---配置数据管理内核(meta data Manager)?配置数据元数据模型(meta data DOM)?这两个概念可能叫法不同吧,呵呵,恕偶愚钝,还没明白这两个概念的意思

如果说是指元数据在内存中的存在方式和管理方式(那能理解为是我所采用的技术架构),那是做了的!换做我的方式来描述,那就是目前你看到的系统除了界面大框架,包括内核数据管理(MemoryData.dll),存储管理(XMLStorage.dll,DataStorage.dll等等),UI的主要操作界面,甚至帮助,都是通过模型映射生成的,并且内核的映射应该是用的比较好的一部分!

如果你是指的方法学上的类似于UML体系等的概念,那下面这段话可以回答,也就是目前DesignOne只对业务数据模型做映射,而不能对其他模型做映射!

"
3 DesignOne能做的和不能做的

    DesignOne可以协助用户快速的生成可交付的代码,帮助等文本文件!但不能生成最终的用户系统!
    DesignOne目前只能建立一般的业务数据模型,不能建立其他如面向对象模型,UML模型等!?
"
DesignOne目前的核心思想是协助把业务数据穿透到技术架构中去(比如MVC),而不是对各种方法学上的模型做代码映射!技术架构的建立可以使用比如ROSE,PD等建模工具协助建立,也可以采用传统的方式直接使用开发工具建立,当然,也可以手写代码,^_^!

"如何让元数据模型更大众化,这个要看对配置数据的抽象层度了,目前我有一定的突破,毕竟做了4年了。
"----呵呵,这才是精华,期待你的得意之作,有空多多指教,不知道是从技术架构(也就是做了一套很好很通用的技术架构)的角度去建立的,还是从模型(提供了一种通用的方法)的角度去建立的!
产生经济价值这个目前对于DesignOne来说还显稚嫩,的确要考虑的事情太多,呵呵,现在还没想到这个程度呢!
 
修改 删除 举报 引用 回复  
 
 加为好友
发送私信
在线聊天
 design1
design1
等级:
 发表于:2008-08-08 14:47:4214楼 得分:0
"软件是自身不断构建的"指的是,我用现在版本的DesignOne来完善修改DesignOne的数据模型,然后生成DesignOne的代码来构建DesignOne的下一个版本!这样产生下一个版本,如此不断下去,呵呵,不知道我说明白了没有!
 

原创粉丝点击