Thursday, September 14, 2006

3-Tier Software Structure

http://blog.joycode.com/jgtm2000/archive/2003/12/29/10064.aspx

BTW:关于三层软件结构中的语义

我设计软件的时候有一个原则:不同的架构层次有不同的语义集,简单说,就是在不同的层次说不同的话。比如说业务需求里面的这样一句话:

“用户可以搜索与给定名称相同的图书”——这是客户的需求,在这一层次上,说的是“人话”。

反映到界面层,这个动作对应的方法就成了:

“GoSearchByName”

到了业务层,我喜欢用:

“GetBooksByName”

而进一步到了数据服务层,一律是数据操作用语:

“BookDataService::SelectByName”

同理可见:

注册新用户 - CreateUser - InsertUser
登录 - SignIn - UpdateStatus
注销 - LogOff - UpdateStatus

等等。。。这样可以有效避免名称上的混乱一致于不清楚代码所处的软件层次。当然你不必要用同样的方法,但是我们的团队很快的适应这样的命名规则,且工作的很好。也供大家参考吧。

介绍Agile Framework