2004年7月20日

关于自动化编程的考虑

经过较长时间工作的积累,我发现曾写过很多类似的代码。现作一些归类
1、 数据库的CRUD,很多资料都提过数据层的设计,关于这个方面也已经有了很多产品。
这部分的内容可以在很大的程度上采用自动化代码。(后续)
2、 软件结构的设计。一般情况下,每一个用例都是由角色激活的。因而,我们可以把激活这样一个动作抽象出一个对象。通过配置文件来决定某一个角色激活哪一个用例。因而这部分的内容我们也可以采用自动化编程,
3、业务过程部分。对于这个部分来说,从自动化编程的角度来看,我们目前好象只能做到代码级COPY,而很难做到自动化的编程,业务过程的自动化编程与前面提及的自动化编程有一些差别。前面提及的主要是根据定义好的文件自动化生成代码。此处提及的自动化编程更多的是指代码的管理和复用。(MDP好象也是根据定义好的文件来自动化生成代码,不过我们理论基础,工作方式都限制了我们使用MDP)
这其中的难点在于,A,业务逻辑是为了满足用户的功能性需求,而在一个项目中是很难把不同的功能性需求进行抽象的(这也就是业务专家所要解决的问题,我做不到)B,不同的项目,用户的功能需求是会有一些差别的,根据需求差别的分类,我们可能用不同的方式来解决它。(1)我们可以细分它,将功能需求分析的粒度分得很细。 (2)参数化,可以有种种方式,如函数参数,外部文件,全局变量等

从MVC的角度来看,1,2对MC都有所涉及。1涉及到了M 的一部分(业务数据及相关数据的持久化),主要是 2->C, 相关的配置文件涉及到了Control。未能涉及到的是业务逻辑部分和用户界面部分

posted @ 2004-07-20 09:49 muddle 阅读(858) 评论(0) 编辑

在JAVA中用ANT的一些用法

从CVS, VSS, STARTEAM获得文件的一些例子
<?xml version="1.0" ?>
<project name="MyProject" default="STGetFile" basedir="e:\anttest">
 <property name="src" location="${basedir}/src"/>
 <property name="build" location="${basedir}/classes"/>

 <target name="InitVss" >
  <splash imageurl="http://jakarta.apache.org/images/jakarta-logo.gif"
   showduration="5000" />
  <property name="vssdir" location="C:\Program Files\Microsoft Visual Studio\Common\VSS\win32"/>
  <property name="vss.username" value="qjl" />
  <property name="vss.password" value="" />
 </target>

 <target name="VssGetFile" depends="InitVss">
  <vssget localPath="e:\anttest"
   serverPath="\\Shanghai4\UFJVss\"
   ssdir="${vssdir}"
   recursive="true"
   login="${vss.username},${vss.password}"
   vsspath="$/management/">
  </vssget>
 </target>
 <target name="InitSTEnv">
  <property name="starteam.username" value="qjl" />
  <property name="starteam.password" value="qjl" />
  <property name="starteam.URL" value="ufj:49201/phoenix/phoenix" />
 </target>
 <target name="STGetFile" depends="InitSTEnv">
  <stcheckout username="${starteam.username}"
   password="${starteam.password}"
   URL="${starteam.URL}"
   recursive="true"
   rootstarteamfolder=""
   includes="*.class"
   rootlocalfolder="e:\anttest\st\" />
 </target>
 <target name="Jar" depends="Compile">
  <jar destfile="${basedir}\test.jar"
   basedir="${build}" />
 </target>
 <target name="Compile" description="Compile the Source Code">
  <!-- Compile the java code from ${src} into ${build} -->
  <javac srcdir="${src}" destdir="${build}"/>
 </target>
 <target name="InitCVSEnv">
  <property name="cvs.cvsroot" location="" />
  <property name="cvs.package" location="" />
  <property name="cvs.localfolder" location="" />
 </target>
 <target name="CVSGetFile">
  <cvs cvsRoot="${cvs.cvsroot}"
   package="${cvs.package}"
   dest="${cvs.localfolder}"
   command="checkout" />
 </target>
</project>

posted @ 2004-07-20 09:16 muddle 阅读(1254) 评论(0) 编辑