海风科技快速开发平台和构件的由来(一)

时间:2022-06-19 14:56:59

       看到园子里面的人,都不断在推广自己的东西。而且有些人还做的很不错,所以我也开始慢慢把我以前做的一些东西,自己掌握的一些技术方面的资料慢慢以博客的形式介绍给大家,一方面跟大家有一个沟通和交流,另一方面希望能发挥自己的所谓的特长,以技术服务支持的方式帮助开发人员、需求人员、中小型企业。当然这个可能会涉及点收费问题,看到园子里面很多人的博客都被骂的不行,我还是想保持低调为好,踏踏实实的把自己的技术发挥出去,如果发挥不了,那也当是生活中多了乐趣,毕竟我们还是要生活在和谐的社会中。

      首先声明下,本人文笔很差,基本上高中以后,就很少写文章,现在重新开始写博客,从某种意义上也是为了提高自己的文笔,毕竟我们的传统东西不能丢,不能因为会写代码,就丢了文字。如果你们发现文章写的不好请尽量批评,我会再接下来慢慢改进。当然刚开始写博客也可能参考别人的文章,如果有描述欠妥的希望大家见谅。

      说了这么多,现在开始说说平台的事情吧。我这里提到的平台范围定义的比较狭隘,反正有点类似经验总结,方法抽象,可能不一定是大公司,牛人们所认为的那样。刚开始,我跟大家一样,并没有想过有啥平台。灵感的来源是在2004年的时候,接了一个服装研发的项目,要求界面随着表的字段的扩建和改变,也就是表变化了,界面也随之改变。就这么一个简单的需求,产生了一系列的要求,慢慢就逐渐向一个自己使用的平台演变。当时可以提供参考的资料并不是很多,主要是参考了速达的软件,还有上海一家叫做什么的服装软件产品,以及当时客户用的一些软件。而当今的平台比那个年份多了多,比如Ucml、极致、用友、金蝶等等,他们都是作为一个产品来卖给客户,而我对自己平台的定位是:让自己开发更方面,响应需求更容易,开发可配置化。

      在硬盘上找了一下过去的一些资料,想去探求早期对于该平台的一些资料,可惜只能发现2005年时留下的一些资料了。如图所示:海风科技快速开发平台和构件的由来(一)

根据这些资料慢慢进行回忆,底层我构件了数据访问层和界面控件层。数据访问层是根据当时的Microsoft Data Access Application Block for .NET进行封装和改造的,后来这个东西被微软整合到Enterprise Library中去了。这里面我封装了SqlHelper和OleDbHelper,然后根据这2个类自己写了SqlLinker和OleDbLinker,为的是给业务提供更方便的访问方式,如下所示:

   1: public long GetMaxLong(string sTable, string sField)
   2:  {
   3:      sTable = string.Format("SELECT MAX({0}) FROM {1}", sField, sTable);
   4:      object obj = SqlHelper.ExecuteScalar(this._connString, CommandType.Text, sTable);
   5:      if(null == obj || obj is System.DBNull)
   6:      {
   7:          return 0;
   8:      }
   9:      else
  10:      {
  11:          return Convert.ToInt64(obj);
  12:      }
  13:  }
   1: public DataTable ExecuteDataTable(string cmd);
   2: public DataView ExecuteDataView2(string spName);
   3: public int ExecuteNonQuery( string cmd);

提供了业务上更便利的访问方法后,封装了一个统一数据接口访问类BaseDB,使得用户调用数据库接口不需要了解是跟什么类型数据库打交道,然后在这里完成主键值的获取,实体类转换成SQL脚本的过程,这应该是我最初的一个Orm模块,然后逐步演变成我目前使用的ORM。

      第一篇日志就写这么点吧,发现写一个博客真不是一件容易的事情啊!

 

 

 

 

 

 

标签: 平台, 构件, .Net, WinForm