天天看点

【机房重构】--职责链模式应用

我是在上机权限选择中使用了职责链模式。

首先来了解一下职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

在机房收费系统里,登录用户的级别相当于请求,处理者是一般用户权限(一般用户处理者),一般用户和操作员权限(操作员处理者),一般用户和操作员和管理员权限(管理员处理者)。根据用户级别,选择处理者。

代码实现:

【机房重构】--职责链模式应用
【机房重构】--职责链模式应用
【机房重构】--职责链模式应用

客户端代码:

【机房重构】--职责链模式应用

若是再多加一个级别,多加一个类,并给这个类权利。客户端只管指向后继者,不需要时刻保持所有候选者的引用,降低了耦合。同时也增强了增加不用级别用户的灵活性。