对于系统设计的一些想法

今天读了下ruby for rails也就是我们学说的r4r,感觉作者写得比较细腻,同时透漏着作者无比的架构功能和程序设计水平。

关于系统的设计,作者谈了三个任务,我觉得真实反应了我设计时的想法

(1)描述应用领域和建模。领域是你的应用的所在。领域可以是音乐店、大学、约会服务、地址簿或者硬件存货等等。不管它是什么,你都需要指出其中有些什么——应用中存在什么实体以及这些实体之间的关系。你对领域的描述将指导你的数据库(你需要使用数据库管理系统提供的管理工具来生成和初始化)设计,以及Rails应用的某些特殊部分的设计。

我觉得这点是一个项目成败的关键,也充分体现了需求的设计。在数据库中的表,可以说完全真实的反应了用户客观的需要,也就是完全会与现实世界的实物,它们的关系紧密的对应起来。所以,花费相当大的时间去分析客户的需要和他所提供事物的内在准确关系是十分必要的。

(2)确定领域中可能发生的活动。领域模型是静态的;它仅仅是事物。现在你要让它成为动态的。比如,向地址簿添加地址,从音乐店购买乐谱,用户登录一个约会服务,大学里的学生注册课程。要找出你的领域中的组成元素可以参与其中的所有可能的动作或场景。

我个人觉得这一步,如果一个人思维比较严密,还是比较容易想到的,关键是不是能把所有或者客户都没有考虑的东西想进来,这样才显得水平。数学出生的我,觉得自己这里做得还行。呵呵

(3)选择和设计领域中可以公开访问的视图。此时你可以开始从Web浏览器的角度来思考问题。一旦你确定你的领域中有学生,他们可以注册课程,你就可以预想要有一个欢迎页面、一个注册页面、以及一个确认页面。买鞋子的客户可以访问款式选择页面、购物车页面以及结账页面。每一个这样的页面或者视图向用户显示,在领域的某个场景中的某个特定的点,事物是怎么样的。你必须确定存在哪些视图。

最后一个任务就是程序数据流程的控制,这里就要考虑一个人对于设计模式的功能和对算法以及数据结构的水平,同样的人,可以是straightforward,清晰,健壮,可移植性高;也可能是horrible,乱得不行,尽管最后能实现功能,不过会给以后的维护带来许多的困难。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值