日期:2014-05-17  浏览次数:20812 次

【初学者提问】开发程序时,如何设计类?


开发这样一个日记本程序时,实现一些基本的功能:
1)用户注册、登陆、密码修改
2)新建日记(日期,天气,内容,标题)、修改、存取
3)用户列表、管理用户信息、编辑用户

我想知道应该如何设计类,想要一个怎么样设计类的思路,谢谢了。

------解决方案--------------------
你可以将所有的名词儿列出来,然后看看:

.哪些是重复的意思,
.哪些是含混的意思,
.哪些是过分简单的技术类型(过分简单的技术类型,直接放到关联到它的类型中作为属性,而不是单独作为类型),
.推导你的用例和处理流程,看看哪些操作的输入输出缺少必要的关联类型(对象参数)
.看看哪些用例其实实系统现阶段不需要做的,删除相关的操作以及相关的类型(假设这些类型纯粹只与这些操作相关)
.看看类型之间的关联的方向。通常应该避免循环的关系。比如说所谓“多对对”的关系就是一个最简单的循环,那么应该引入中间的类型来关联到原本的两类,消除循环。
.看看有没有过分技术化的类。这种东西脱离了实际,不应该出现在系统分析中。
.看看有没有指责过于繁重的类,然后回到应用领域去看看那些不懂编程的人在真实的工作生活中是怎样简化这种类型的。

最后,任何架构都可能经常重构。不要死抠数据结构,要尽快发布测试版,然后通过不断发布新的测试版,让你一边保证产品(使用者角度的)不变而一边敢于重构你底层的类型系统。