写点什么

架构师 week2 作业

用户头像
李锦
关注
发布于: 2020 年 06 月 16 日

作业 1:



什么是依赖倒置原则,为什么有时候倒置原则又称为好莱坞原则?

 

依赖倒置原则的本质就是通过抽象(接口或抽象类)使各个类或模块的实现彼此独立,互不影响,实现模块间的松耦合。

 

好莱坞原则是“不要来找我,我会给你打电话”,这样一个有效防止“坏依赖”的方法。



“坏依赖”是指高层组件和低层组件之间相互依赖,高层组件又与其他边侧组件存在依赖关系,边侧组件与低层组件又有依赖关系,错综复杂的依赖关系让人理不清头绪。

 

好莱坞原则允许低层组件将自己挂钩到高层组件的算法过程中,什么时候调用,则是按照高层的业务处理逻辑决定,有效避免了系统环状依赖。



因此,从这种角度来说好莱坞原则就是依赖倒置。




作业 2:



描述熟悉框架,实现依赖倒置



网站登录模块就是依赖倒置:

 

场景:

 

首先登录页面提供一个带用户名/密码的输入表单,用户填写并提交表单后,服务端程序检查是否有匹配的用户名/密码。

 

如果用户名/密码不匹配,返回到登录页面,并给出提示。如果用户名/密码匹配,记录用户的成功登录日志,更新用户的最后登录时间和IP地址,然后重定向到后台欢迎页面。

 





(1)用户在登录页面输入用户名/密码,提交表单到服务器,Spring根据配置调用LoginController控制器来响应登录请求。



(2)LoginController调用UserService#hashMatchUser()方法,根据用户名和密码查询是否存在匹配的用户,UserService内部通过调用持久层的UserDao完成具体的数据库访问操作。



(3)如果不存在匹配的用户,重定向到login.jsp页面,并报告错误,否则到下一步。



(4)LoginController调用UserService#findUserByUserName()方法,加载匹配的User对象并更新用户最近一次的登录时间和登录IP地址。



(5)LoginController调用UserService#loginSuccess()方法,进行登录成功的业务处理,创建一个LoginLog对象,并利用LoginLogDao将其插入数据库中。



(6)重定向到欢迎页面main.jsp,欢迎页面产生响应返回给用户。




作业 3:



用接口隔离原则优化 Cache 类的设计,画出优化后的类图





用户头像

李锦

关注

还未添加个人签名 2017.11.30 加入

还未添加个人简介

评论

发布
暂无评论
架构师week2 作业