D
djflying
Unregistered / Unconfirmed
GUEST, unregistred user!
大家都在讨论一些概念的问题,我拿一个实际的事情作例子大家来帮我出出主意,讨论一下!
这是一个非常普通的常见的用户登陆过程,在这个过程里会用到两个窗口与用户打交道,
一个是用户登陆窗口(loginForm),一个系统管理员用来管理用户资料的(adminForm),另有一个类TUserManage管理用户
我想这么来看待整个过程:TUserManage看成一个如同openfiledialog的东东,他封装整个用户
登陆过程,用一个execute方法提供一个完整的用户登陆过程,而不是平常那样由几个窗口和一系列
过程来构成一个分散的用户登陆过程,这样避免以后整合代码时,其他人也要了解整个用户登陆过程
中的系列关系。其他程序员只需面对经过了一个登陆过程后的用户信息进行编码,
而无须了解从哪个窗口或什么地方可以返回得到需要的用户信息的,整合代码的时候只需运行一个登陆过程
然后用得到的用户信息进行他们的处理。
具体处理有这么一个问题:
有一些与数据库打交道的方法,如GetUserInfo、AddUser之类的方法,我是将他看成
TUserManage所拥有的能力还是将他看成LoginForm具有的能力?也就是说是Tusermanage.adduser还是
loginForm.adduser.
一般应把adduser看成TUserManage的方法,因为loginForm是Tusermanage用来与用
户打交道的工具,我想他不应具有通用用户登陆过程中的具体方法,他只应具有得到用户的输入并发送一个添加
用户的请求的能力,具体添加用户的过程是Tusermanage的事情.loginform应调用TUsermanage.adduser
需要把adduser方法设为公共的,但添加用户纯粹是一个用户管理事务的内部处理,其他模块都不需用到,因此
他不应该作为Tusermanage的一个向外提供的服务,也就是说adduser应该Tusermanage的一个内部使用的方法,应
设为private或protected,怎么解决这个矛盾?
这个例子过程相当简单,就算不考虑这么些,就作那么几个窗口,然后这个ok钮里写一些处理,那个cancel钮里写一些
处理都可以完成任务,但希望大家进行一些程序结构设计上的考虑,和如何设计清楚的程序执行路径和形象化思考程序
模式的方法.这个例子很小,比较容易归纳和总结一些,它反映的程序设计理论可能只是一点,但我想一点点在实际程序编制
中积累就能真正的掌握设计模式/软件方法的思想和怎么去应用它们.
小弟在这里抛砖引玉,希望大家帮我计划计划,任何各种各样的方案和想法都行,也欢迎大家出题目来讨论!!
也可探讨一些学习的方法啊!
这是一个非常普通的常见的用户登陆过程,在这个过程里会用到两个窗口与用户打交道,
一个是用户登陆窗口(loginForm),一个系统管理员用来管理用户资料的(adminForm),另有一个类TUserManage管理用户
我想这么来看待整个过程:TUserManage看成一个如同openfiledialog的东东,他封装整个用户
登陆过程,用一个execute方法提供一个完整的用户登陆过程,而不是平常那样由几个窗口和一系列
过程来构成一个分散的用户登陆过程,这样避免以后整合代码时,其他人也要了解整个用户登陆过程
中的系列关系。其他程序员只需面对经过了一个登陆过程后的用户信息进行编码,
而无须了解从哪个窗口或什么地方可以返回得到需要的用户信息的,整合代码的时候只需运行一个登陆过程
然后用得到的用户信息进行他们的处理。
具体处理有这么一个问题:
有一些与数据库打交道的方法,如GetUserInfo、AddUser之类的方法,我是将他看成
TUserManage所拥有的能力还是将他看成LoginForm具有的能力?也就是说是Tusermanage.adduser还是
loginForm.adduser.
一般应把adduser看成TUserManage的方法,因为loginForm是Tusermanage用来与用
户打交道的工具,我想他不应具有通用用户登陆过程中的具体方法,他只应具有得到用户的输入并发送一个添加
用户的请求的能力,具体添加用户的过程是Tusermanage的事情.loginform应调用TUsermanage.adduser
需要把adduser方法设为公共的,但添加用户纯粹是一个用户管理事务的内部处理,其他模块都不需用到,因此
他不应该作为Tusermanage的一个向外提供的服务,也就是说adduser应该Tusermanage的一个内部使用的方法,应
设为private或protected,怎么解决这个矛盾?
这个例子过程相当简单,就算不考虑这么些,就作那么几个窗口,然后这个ok钮里写一些处理,那个cancel钮里写一些
处理都可以完成任务,但希望大家进行一些程序结构设计上的考虑,和如何设计清楚的程序执行路径和形象化思考程序
模式的方法.这个例子很小,比较容易归纳和总结一些,它反映的程序设计理论可能只是一点,但我想一点点在实际程序编制
中积累就能真正的掌握设计模式/软件方法的思想和怎么去应用它们.
小弟在这里抛砖引玉,希望大家帮我计划计划,任何各种各样的方案和想法都行,也欢迎大家出题目来讨论!!
也可探讨一些学习的方法啊!