行政区划程序的设计(九)

Author:水如烟

总目录:行政区划数据方案设计

 上一篇,行政区划程序的设计(八)

虽然前面分析了好多,提到了好些关键处,可真到写代码时,还是免不了会忽视过去。
刚才测试了昨晚的代码,这里出了问题:

     Private   Sub  UpdateDatabaseByDataSet( ByVal  ds  As  DataSet)
        
For   Each  table  As  DataTable  In  ds.Tables
            UpdateDatabaseByDataTable(table)
        
Next
    
End Sub

应该是:

     Private   Sub  UpdateDatabaseByDataSet( ByVal  ds  As  DataSet)
        
' 确保按版本由旧至新顺序更新

        
Dim  mDataVersionArray(ds.Tables.Count  -   1 As   String
        
For  i  As   Integer   =   0   To  ds.Tables.Count  -   1
            mDataVersionArray(i) 
=  ds.Tables(i).TableName
        
Next

        Array.Sort(mDataVersionArray)
        
' 如果第一个版本大于最后一个版本,则倒置
         If  mDataVersionArray( 0 >  mDataVersionArray(mDataVersionArray.Length  -   1 Then
            Array.Reverse(mDataVersionArray)
        
End   If

        
For  i  As   Integer   =   0   To  mDataVersionArray.Length  -   1
            UpdateDatabaseByDataTable(ds.Tables(mDataVersionArray(i)))
        
Next

    
End Sub

这一点,在考虑数据库的设计时就特别的强调过。昨晚写代码时就忘了。所以无论如何的有把握,最好还是将要点写在纸条上,不时的看一下好。

下面分析RegionalCodeCenter项目的要点。

程序说到这里,或许你认为是不是我将简单的问题复杂了,用得着建那么多的项目吗?可是到了RegionalCodeCenter这个项目,再分析下来,我会觉得项目还不够用。

再次重温各个项目的作用。
RegionalCodeLibary仅仅与数据库打交道。数据库夹带着它,无论到哪,都用得着。没有这个项目,只有数据库,无论是谁,都要走这个项目相似的路。它对外提供的结果,都是Framework的基础类。它没什么要求,很简单。它是满足这个方案需求的核心。核心的东西,就是需要简单。

RegionalCodeCommon项目。它是从全局全方位的角度来引领方案需求实现过程的思维。它是纵观全局的,也是横向联系的。但是它也是民主的,它仅仅是展现给编码者应注意些什么,如果你愿意,可以使用它提供的一些属性和方法,不愿意,你尽可绕开它。如果想少走弯路,快些上路,弄清楚并把握好它的意念,从而甘心接受它的“约束”,是值得的。

针对特定方案,你研究了,有体会了,也应该充实这个项目的内容,让它更具生气。

ReionalCodeCenter项目。它要联系上RegionalCodeLibary,并把RegionalCodeLibary提供的服务内容转成我们需要的特定内容,再转身,传给用户。
RegionalCodeLibary是方案的核心,而它呢,则是方案的中心,也是方案的关键,最纷繁复杂的了。
在这里,居中一刀切下来,就变成以后要说的Remoting(webservice我还没接触过)方式了。

如果你能体会“一刀切”,那么,后面的代码就好理解的了。

只能笼统说。下面边写代码边说好些。但要注意,写这个项目往往是先写RegionalCodeCommon项目的。

下一篇,行政区划程序的设计(十),RegionalCodeCommon项目的设计。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值