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());
查看全文
相关阅读:
android 通知栏 notifcation
通过ResultSet获取到rs的记录数的几种方法
网上书城随笔
jdbc 事务
正则表达式
String,StringBuffer与StringBuilder的区别??
Java 之 FileReader FileInputStream InputStreamReader BufferedReader 作用与区
算法
呵呵
Hibernate
原文地址:https://www.cnblogs.com/tommyli/p/1228254.html
最新文章
1.1.HTML的核心标签
jvm指令手册
jvm(3):JVM调优
jvm(2):垃圾收集和内存分配
jvm(1):内存结构
mysql(5):主从复制和分库分表
mysql(4):性能分析和性能优化
mysql(3):锁和事务
mysql(2):索引
mysql(1):简介
热门文章
spring mvc
android 获取activity 的name
java static
android webview实战
android 禁止viewPager 滑动
android textview 跑马灯
android 沉浸式状态栏
android listview getviewtypecount和getItemViewType
android selector详解
android shape详解
Copyright © 2011-2022 走看看