用户管理-小项目-V3版需求
链接: 用户管理-小项目-V2版需求
前提:已在一个类(如:UserRegServiceImpl->IUserverReg)中完成了注册功能。
需求:不修改原来的类(如UserRegServiceImpl),在注册之后增加打印功能,将当前用户的注册日志(手机号,姓名,年龄,注册时间)输出到控制台。
前提:已在一个类(如:UserLoginServiceImpl->IUserLogin)中完成了登录功能。
需求:不修改原来的类(UserLoginServiceImpl),在登录之后增加打印功能,将当前用户的登录日志(什么人,什么时间登录,登录是否成功)输出到控制台。
分析【重要】:
1、用户业务功能:注册、登录,只应该完成本身必须要完成的功能,这叫:单一职责。
2、对于日志信息的打印,是属于业务非必要信息,可以放到另外的类完成,通过与业务类组合来完成业务,这叫:组合>继承。
3、提示:
*、此场景适合使用代理模式;同样在好的项目中,也是应该这样来设计和开发的。
*、之所以这样做,是为了提高软件在后期的维护性,而软件后期的维护性,是一个有经验的开发人员,最为看重的。
*、软件危机,指的是在软件开发后期,代码(类)已经非常多了,用户此时提出了新的需求(功能、性能),此时要修改或优化,可能会涉及到很多的地方要同时修改。如果此时项目代码的结构不好(比如没有用接口,多态,用的是直接调用),那么修改的地方就会非常多,从而造成很大的修改量;而修改量越大,风险就越高,投入(资金和人力)就越大,从而项目超期,投入超期,人员也超负荷(加班)运转...所以好的项目结构和好的开发方式,是非常重要的。
本文来自博客园,作者:xiaoyongdata(微信号:xiaoyongdata),转载请注明原文链接:https://www.cnblogs.com/xiaoyongdata/p/16354190.html