zoukankan
html css js c++ java
责任链
1:意图
为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。
2:类图
3:代码
namespace
Bll.ChainOfResponsibility
{
public
class
MSGEntity
{
//
信息内容
private
string
content;
public
string
Content
{
get
{
return
content; }
set
{ content
=
value; }
}
//
审核级别
private
int
level
=
0
;
public
int
Level
{
get
{
return
level; }
set
{ level
=
value; }
}
}
public
abstract
class
Man
{
protected
Man _man;
public
abstract
void
Read(MSGEntity entity);
public
void
SetSuccessor(Man man)
{
this
._man
=
man;
}
}
public
class
Employee : Man
{
const
int
level
=
1
;
public
override
void
Read(MSGEntity entity)
{
if
(
object
.Equals(level, entity.Level))
{
//
}
else
if
(
base
._man
!=
null
)
{
_man.Read(entity);
}
}
}
public
class
Leader : Man
{
const
int
level
=
2
;
public
override
void
Read(MSGEntity entity)
{
if
(
object
.Equals(level, entity.Level))
{
//
}
else
if
(
base
._man
!=
null
)
{
_man.Read(entity);
}
}
}
public
class
Manage : Man
{
const
int
level
=
3
;
public
override
void
Read(MSGEntity entity)
{
if
(
object
.Equals(level, entity.Level))
{
//
}
else
if
(
base
._man
!=
null
)
{
_man.Read(entity);
}
}
}
}
//
调用
Employee employ
=
new
Employee();
Leader leader
=
new
Leader();
Manage manage
=
new
Manage();
employ.SetSuccessor(leader);
leader.SetSuccessor(manage);
employ.Read(
new
MSGEntity());
查看全文
相关阅读:
timestamp的两个属性:CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP
python 典型文件结构
PHP接口开发加密技术实例原理与例子
一个高效的敏感词过滤方法(PHP)
Thinkphp自动验证规则
PHP解析xml文件时报错:I/O warning : failed to load external entity
访问php网站报500错误时显示错误显示
15个最受欢迎的Python开源框架
分布式监控系统开发【day38】:报警策略设计(二)
分布式监控系统开发【day38】:报警阈值程序逻辑解析(三)
原文地址:https://www.cnblogs.com/tommyli/p/1228254.html
最新文章
Shell获取格式化日期
MySQL索引的维护与优化——查找重复及冗余索引
Python之Flask和Django框架解决跨域问题,配合附加ajax和fetch等js代码
Maven将依赖的所有jar包打成一个jar
如何在Python之Flask中使用https链接
Mysql异常问题排查与处理——mysql的DNS反向解析和客户端网卡重启
Python获取间隔时间段的时间戳数据
Python排序dict之list数组
[LeetCode]460.LFU缓存机制
[算法]快速排序,归并排序,堆排序的数组和单链表实现
热门文章
[算法]死磕二叉树专题算法
MySQL和Redis面试题小结
海量数据中找top K专题
关于一致性Hash算法
今日头条面经汇总
[转]数据库缓存重建
[转]Hash碰撞冲突解决方法总结
[转]施密特触发器
使用PHP简单操作Memcached
MySQL 查看编码 排序规则
Copyright © 2011-2022 走看看