怎么设计自己的模块
2006-07-28 12:28
225 查看
上司给一个小模块,怎么设计呢?
1 向上司询问这个模块的功能,写出这个模块的用例。
2 向上司询问模块的接口,输入什么,输出什么。
3 想一想上司给你介绍的任务能不能完成,却什么东西,什么东西是多余的
4 设计自己的类
5 开始编码
6 测试
在4,5,6的过程中,设计自己的类占40%,调整自己的类和结构占20%,编码占10%,测试占30%
要想设计好自己的类,用例非常重要,他既是设计类的前期准备,也方便了自己的测试。
例如:老板需要让用户写入自己的名字和密码登录到系统
那么就得需要询问,是否用户名和密码需要加密,询问接口
以下是我自己的思考过程, 由于要用户登录,那么我就要设计一个用户类user,里面有两个属性username,password,然后有一个方法,就是加密。这样这个类基本设计完事。再思考一下,用户得有权限,不能每个用户都以同样的方式进去,那么我可以在里面加一个权限permission的属性,即使老板没说,但是我准备留着扩展。好,这回有了三个属性。那么方法呢,一个加密方法。这是我想到了,对于加密来说,他没有用户名什么的这个概念,只有明文,密文,密钥,那么我就想到了设计一个加密类,让我这个加密方法调用加密类里的方法就是了,至于加密类里怎样加密,解密,采用什么方法,我就不考虑了,那时加密类干的事情,不是我用户类干的事情,以后加密方法的更改与我用户也没有关系。用户没有进去怎么办,那么我就抛出异常吧,于是我设计了一个用户异常类。这样我就设计出三个类。
于是我开始编写代码,我就要new这个user对象,然后为username,password复值,感觉麻烦,得了,在加几个构造方法吧,可以传入参数,使之写起来更快些。然后再去编码,测试。
以上是我的设计思路,有不足之处,请指正。
1 向上司询问这个模块的功能,写出这个模块的用例。
2 向上司询问模块的接口,输入什么,输出什么。
3 想一想上司给你介绍的任务能不能完成,却什么东西,什么东西是多余的
4 设计自己的类
5 开始编码
6 测试
在4,5,6的过程中,设计自己的类占40%,调整自己的类和结构占20%,编码占10%,测试占30%
要想设计好自己的类,用例非常重要,他既是设计类的前期准备,也方便了自己的测试。
例如:老板需要让用户写入自己的名字和密码登录到系统
那么就得需要询问,是否用户名和密码需要加密,询问接口
以下是我自己的思考过程, 由于要用户登录,那么我就要设计一个用户类user,里面有两个属性username,password,然后有一个方法,就是加密。这样这个类基本设计完事。再思考一下,用户得有权限,不能每个用户都以同样的方式进去,那么我可以在里面加一个权限permission的属性,即使老板没说,但是我准备留着扩展。好,这回有了三个属性。那么方法呢,一个加密方法。这是我想到了,对于加密来说,他没有用户名什么的这个概念,只有明文,密文,密钥,那么我就想到了设计一个加密类,让我这个加密方法调用加密类里的方法就是了,至于加密类里怎样加密,解密,采用什么方法,我就不考虑了,那时加密类干的事情,不是我用户类干的事情,以后加密方法的更改与我用户也没有关系。用户没有进去怎么办,那么我就抛出异常吧,于是我设计了一个用户异常类。这样我就设计出三个类。
于是我开始编写代码,我就要new这个user对象,然后为username,password复值,感觉麻烦,得了,在加几个构造方法吧,可以传入参数,使之写起来更快些。然后再去编码,测试。
以上是我的设计思路,有不足之处,请指正。
相关文章推荐
- 怎么设计自己的模块
- 设计与实现模块管理系统的基本功能定义自己的(38--终极阶段 综合查询[5])
- 设计与实现经常拥有自己定义模块管理系统(19--设计模块附件[2])
- 为python脚本设计自己的log模块
- 设计与实现模块管理系统基本功能定义自己(28--所述多个模块之间的关联[4])
- 模块管理常规功能自己定义系统的设计与实现(31--第三阶段 权限设计[1])
- python中怎么import自己写的模块
- 跟我一起学extjs5(11--自己定义模块的设计)
- 跟我一起学extjs5(25--模块Form的自己定义的设计[3])
- 4程序员小飞原计划三天完成某个任务,现在是第三天的下午,他马上就可以做完。但是在实现功能的过程中,他越来越意识到自己原来设计中的弱点,他应该采取另一个办法,才能避免后面集成阶段的额外工作。但是他如果现在就改弦更张,那势必要影响自己原来估计的准确性,并且会花费额外的时间,这样他的老板、同事也许会因此看不起他。如果他按部就班地按既定设计完成,还要花更多时间在后续集成上,但那就不是他个人的问题了,怎么办
- 模块管理常规功能自己定义系统的设计与实现(53--演示程序和视频解说 )
- 模块管理常规功能自己定义系统的设计与实现(52--功能更新[2] 对百分比字段的操作)
- 织梦怎么去掉上传图片的水印改为自己设计的水印
- 模块管理常规功能自己定义系统的设计与实现(36--终级阶段 综合查询[3])
- powerdesign设计pdm时怎么增加一个text模块,用于pdm相关说明什么的?
- Linux下怎么将自己编写的Python模块添加到PYTHONPATH上
- 跟我一起学extjs5(24--模块Form的自己定义的设计[2])
- python3怎么自己创建一个模块并且调用(个人重新总结了下)
- 跟我一起学extjs5(22--模块Form的自己定义的设计)
- 模块管理常规功能自己定义系统的设计与实现(22--第二个模块的增加)