软件架构的探索和思考

  接触计算机程序,将近两年的时间了。从最开始的C语言的控制台程序,到现在的asp.net的web程序,经历了很多,尝试了很多,有失败,有喜悦。现在把自己的经验和教训总结一下,希望大家多提宝贵意见。

  我想说的是,我对软件架构的一些自己的理解。起初,以为三层架构是很简单的东西,无非是界面,逻辑,数据,现在想想,自己到处真是可笑。其实要构建扩展性强的,健壮的程序,并非易事。

  界面我就不想多说什么了,我只是个普通的程序员,只懂技术,不懂艺术。不知道界面上面怎么设计才能让用户用的习惯。

  逻辑层我是这样理解的:

  (1)连接字符串以某种加密的形式存在项目的配置文件里面,在操作数据库的类里面先把加密之后的连接字符串读取出来,解密之后用来连接数据库。当然这些操作全部在dll程序集里面完成,留一些必要的接口和参数入口出来,实现程序的可扩展。

  (2)单表查询的SQL语句。这里首先说说单表的查询,可以构建一个方法,这个方法放在比数据库操作高一层的某一个类里面。提供两个参数1.String strTableName 表名 2. string[ ] strfFields 字段数组只要提供了这两个参数,就一定可以在特定的表里面查询出一些数据。返回一个DataSet给调用者。

  (3)多表的复杂查询。多表了,一个简单表名就不不能阐述需要查询的数据源了。我的想法是,把这些复杂的SQL封装在一个类里面,类的内部采用静态的常量定义这些SQL语句,查询如果一旦改变,只需要更新这些dll文件就好了。但是如果需要大改,那同时需要改代码了。话说回来,如果软件需求做的到位,项目收尾的时候一般也不会出现大改的情况。

  (4)数据的一致性。对数据库的修改操作当然是用存储过程了。我之前就遇到一个问题,需要更新多张表的时候,一个存储过程里面有多条SQL语句。如果某一天执行失败了(主键约束之类的),就势必造成数据的不一致,这样就需要使用SQLSERVER里面的事务的概念了。要么全部执行成功,要么一条都不执行(某一条执行失败了会回滚)。

  (5)对于数据库怎么就不想多说了,是程序员都知道数据库怎么建,但是Power Designer确实是个好定西,不仅仅在于简单方便,主要是容易理清思路,不至于混淆多个数据表。

  我想说的也就这么多了。希望看到文章的朋友们多提意见,我是新手,许多地方都有不成熟之处,写的不好,见谅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值