最近有高手给我和朋友出题,题目听上去不难,不过我和朋友作出的答案不能完全符合高手的要求,高手还嘲笑我们的设计非常地不面向对象,但又不给解释。百思不得其解,来此求救。以下是高手的问题,为抛砖引玉,将我们的答案一并列出。
要求如下:
1。设计一个简化的财务系统,要求根据公司毛收入,税收,捐献,确定其净收入。要求提供本月份的毛收入,税收,捐献,净收入,及年度至今的毛收入,税收,捐献,净收入。
2。净收入 = 毛收入 - 税收 - 捐献。 税收依收入分四档,自行确定税率。 捐献也依收入分四档,自行确定比率,计算方法类似税收。如果本年度捐献超过一个数额(最大捐献额),停止捐献。
3。使用C#和面向对象设计。
4。至少提供两个界面:财务界面,和收入计算界面。财务界面只提供一种方法: 计算财务; 收入计算提供三种方法:计算税收,计算捐献,计算净收入。计算财务可以提供本月份的毛收入,税收,捐献,净收入,及年度至今的毛收入,税收,捐献,净收入。计算财务的输入参数是一个公司的list.
5。收入计算界面和基于它的类会被其它系统使用,设计时必须注意软件重用问题。
6。税率和捐献比率及最大捐献额有可能改变。
7。尽量减少使用条件判断(if/else, switch/case)来计算税收和捐献。
8。为简化起见,不用考虑数据库和数据存储。假定数据已经存在。
9。其余自行决定。但系统必须简单易懂。程序中使用英文注释,非关键点可以不注释。
......................
阅读全部 | 2013年2月4日 00:58