thinking in software

题目是学人家的《thinking in XXXX》,
作为一个coder,or ba其实一直在探索究竟如何才能构建出好的software来,
每天在学习,在摸索,却不是每天都会停下脚步安安静静地来完整的思考一下自己所知道的关于software的一切。

我觉得至少每年都应该这样思考一次。

最近开始突然对oo的东西感兴趣了,几天下来,看的都是use case,
感觉搞了这么多年的程序,其实一直都没跳出来,一直都埋头在co,任何事情,主要的工作似乎就是co,什么需求,设计都是
次要的,一笔带过的,90%的时间都在co.

起初学delphi的时候,关心的是如何在win32平台上做出用户需要的界面,
或者如何把数据保存到数据库里,
用什么SQL语句查询,
如何保持同步,
如何解决事务,
怎么用DCOM来做三层结构,
后来学java,
关心如何配IOC,
如何用struts,jsp,html来把本来习惯的windows窗体换成web页面,
如何用hibernate或者ibatis来解决持久化,觉得jdbc挺麻烦的,
...
所有的一切,都是落在具体的技术实现上,
现在觉得以上的东西都太具体,没有什么理论性和思想性可言。

当然,use case其实也是一种具体的实现技术,用来收集需求。
不过总算也有不同了,
无论如何,用use case来开始做需求,总是比较先进的手段,
比我之前凡事先琢磨表结构,斟酌取舍里头的字段再co的做法要强多了。

我现在明白了所谓的model才是一个系统的核心部分,无论是domain model,business model.
(建模?大学里听说过一次,好象是什么全国大学生建模比赛,数学好的人才能报名。)

通过use cases把business model搞清楚了,
再转成oo世界里的domain model,
再配上presentation layer and persistence layer,
是不是只要这样做,一个软件系统就产生了?

感觉所有的技术实现似乎都不再重要,看有没有机会为这个model服务。
 

回想刚开始,以为学好一门语言就是学会了写软件,
学了几门语言之后,以为学好一个平台上的大部分api就是学会了写软件,
学了几个平台之后,以为除了模式之类的东西,就是经验而已了;
学了点软件工程之后,知道了coding只是占项目的1/5而已;
学完软件工程之后,我还能以为什么?--做软件只是这些年谋生的手段而已,人生还有N多更重要的事情等着我去做^_^ 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值