把小软件当作大软件来写,把大软件当作小软件来做

把小软件当作大软件来写,把大软件当作小软件来做

黄国强 2008-9-9

    我最初也是从写小的程序开始的。随着程序的规模越来越大,投入的精力越来越多,逐步意识到自己方法上肯定出了问题。从90年代中期开始,我逐步认识到一个好的软件需要一个好的领域模型。但是当时对分层没有概念。一个明显的问题就是,当时的程序在界面代码中也出现领域对象。进入到2000年,首先接触到微软的DNA架构,后来又接触到其他一些分层理论,我的设计思想才逐步完善。
    “把小软件当作大软件来写,把大软件当作小软件来做”就是我对如何提高一个人的软件设计水平的一个总结。
    我们一个人从开始接触软件开发这份工作开始,首先从事的都是比较小范围的开发工作。“把小软件当作大软件来写”的意思就是,虽然你现在写的小软件,但是自己也要把它当作大的软件一样,规范的去做。
    比如,写一个计算器小程序,我们可以按照分层理论把它分成“用户界面层”、“应用层”和“领域层”三部分来写。在写得过程中,逐步体会这三个层次的内容以及层与层之间的关系。再结合相关书籍的学习。相信假以时日,定会将自己的层次提高一个档次。这样,很可能有机会进入到下一阶段,写一个大软件。
    “把大软件当作小软件来做”的含义是,将大软件分层后,从中找出一个从“用户界面层”一直往下直到最底层的一些关键过程,把每个过程作为独立的小软件来做,这样项目的规模再大,也不怕。因为这时项目的复杂度只是算术增加而不是指数增加。这个开发过程我总结出这样一句话叫做“横向设计,纵向实施”。这里的横向设计含义表示我们应该按照分层理论的方法进行分层设计,纵向实施则表示我们在具体的开发过程应该按照从上到下一个一个过程来做。每次都做完一个完整的过程。下图为分层架构图。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

acloud_csu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值