zoukankan
html css js c++ java
我也设计模式——24.Template Method
模板方法很简单,只要有抽象类的地方,都可以看到这个模式:就是在父类中的非抽象方法中调用抽象方法。
基于委托的模板方法:从而具体实现方法可以不依赖于抽象类,达到解耦的目的
几点注意:
1.delegate声明在模板类中
2.在类DoCompA和DoCompB中定义与委托相同的方法
3.在Main()中组装委托链,调用tm.DoComp()意味着这是一个模板方法(非抽象中方法调用抽象方法)
public
class
TemplateMethod
{
public
delegate
void
Do();
public
Do myDo;
public
void
DoComp()
{
myDo();
}
}
public
class
DoCompA
{
public
void
c1()
{
//
Do something
}
public
void
c2()
{
//
Do something
}
}
public
static
class
DoCompB
{
public
static
void
c3()
{
//
Do something
}
}
public
class
MainClass
{
static
void
Main()
{
DoCompA a
=
new
DoCompA();
TemplateMethod tm
=
new
TemplateMethod();
tm.myDo
+=
new
TemplateMethod.Do(a.c1);
tm.myDo
+=
new
TemplateMethod.Do(a.c2);
tm.myDo
+=
new
TemplateMethod.Do(DoCompB.c3);
tm.DoComp();
}
}
查看全文
相关阅读:
Django入门
初识json
回来了
python学习
JavaScript 中获取元素样式
浏览器检测与特征检测
DOM 节点的类型及判定
浏览器的控制台工具
.htaccess 配置文件的使用
workLog:07001:补充0829 前
原文地址:https://www.cnblogs.com/Jax/p/913954.html
最新文章
Jira management Anny
如何将svn上checkout下来的android 程序由java project转成android project in Eclipse Anny
敏捷提升质量和进度的实践体会分享(转) Anny
JAVA转为Dynamic web project Anny
Advanced REST client Application for Google Chrome Anny
如何将dmp文件导入oracle数据库
测试spring boot中的数据源是否使用的是hikari?
springboot整合shiro安全框架
微信小程序:如何获取openid?
反向代理(reverse proxy)
热门文章
springboot中配置addResourceHandler和addResourceLocations来访问本地的图片
JDBC与连接池
JWT工具类
springboot整合mybatisplus
Shiro安全框架
无题
晚上看球吧
桶排序
几个Python小程序
存储过程
Copyright © 2011-2022 走看看