- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Java设计模式之中介者模式(Mediator Pattern)简介由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
Java设计模式的中介者模式是行为模式之一。定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显式地相互引用,从而使其耦合性松散,并且可以独立地改变他们之间的交互.
如下图所示:
生产者、消费者、代理商之间的中介模式实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
public
abstract
class
PersonColleague
{
protected
Mediator mediator;
public
Mediator getMediator()
{
return
mediator;
}
public
void
setMediator(
final
Mediator mediator)
{
this
.mediator = mediator;
}
protected
abstract
void
message(String context);
}
public
class
Mediator
{
private
PersonColleague consumer =
null
;
private
ProducerColleague producer =
null
;
public
ProducerColleague getProducer()
{
return
producer;
}
public
void
setProducer(
final
ProducerColleague producer)
{
this
.producer = producer;
}
public
PersonColleague getConsumer()
{
return
consumer;
}
public
void
setConsumer(
final
PersonColleague consumer)
{
this
.consumer = consumer;
}
public
Mediator()
{
}
public
synchronized
void
message(
final
String context)
{
if
(consumer !=
null
)
{
System.out.println(context);
}
else
if
(producer !=
null
)
{
System.out.println(context);
}
}
}
public
class
ConsumerColleague
extends
PersonColleague
{
public
ConsumerColleague(
final
Mediator mediator)
{
this
.mediator = mediator;
}
@Override
protected
void
message(
final
String context)
{
this
.mediator.setConsumer(
this
);
this
.mediator.message(
"hello! i am a consumer"
);
}
}
public
class
ProducerColleague
extends
PersonColleague
{
public
ProducerColleague(
final
Mediator mediator)
{
this
.mediator = mediator;
}
@Override
protected
void
message(
final
String context)
{
this
.mediator.setProducer(
this
);
this
.mediator.message(context);
}
}
public
class
Client
{
public
static
void
main(
final
String[] args)
{
final
Mediator mediator =
new
Mediator();
final
PersonColleague person =
new
ConsumerColleague(mediator);
final
PersonColleague person1 =
new
ProducerColleague(mediator);
person.message(
"I am a consumer"
);
person1.message(
"I am a producer"
);
}
}
|
运行结果:
1
2
|
hello! i am a consumer
I am a producer
|
。
最后此篇关于Java设计模式之中介者模式(Mediator Pattern)简介的文章就讲到这里了,如果你想了解更多关于Java设计模式之中介者模式(Mediator Pattern)简介的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我试图了解 ESB Mediation是,确切地说(具体例子),并且正在撞墙。 根据维基百科,数据中介重定向到 Data Transformation文章,唯一提到调解是模糊和神秘的: When th
我似乎有 admob 调解工作正常。我宁愿先使用 iAd,然后再使用 admob 填充。问题是我在 iTunes 连接中收到的 iAd 请求为零。我什至将百分比设置为 100%。我启用了它,一切都在
我有一个带有 ID、NAME、DATE 的 MySql 数据库我想通过使用 dblookup 介体来获取这些行,似乎不起作用,有人可以检查我的代理定义吗?
我正在尝试设置我的 Android 应用程序以显示来自中介网络的广告(顺便说一句,在任何地方都没有很好的解释),这是我到目前为止所做的: 1) 我已将发布商 ID 复制到将显示广告的 xml View
我的 AdMob 中介正在运行,它可以很好地提供 AdMob 广告,但是当我输入 MMedia 或 MobFox 的有效 ID 时,我收到请求,但填充数为 0。有谁知道这是为什么吗? 最佳答案 您还需
.h #import #import #import "GADBannerView.h" @interface MasterTableViewController : UITableViewCon
开门见山: 我了解什么是 mediationID 及其用途,但我无法在 admob 上获取 mediationID工具。 Mediation ad network guide看起来像这样: 但现实是我
我无法在 Android 应用程序中调解 admob 和 Facebook 受众网络 (FAN)。该应用仅转换来自 Admob 网络的广告。 Admob 和 FAN 之间的中介不起作用。以下是我遵循的
我目前在我的应用程序中使用 AdMob,我想集成 StartApp 但我想通过 AdMob 中介来管理它,有什么方法可以做到这一点(到目前为止我找不到任何文档,他们的支持也没有回答这个问题)? 最佳答
我正在尝试使用 InMobi 实现 AdMob 中介,但广告不会显示。我关注 their documentation我已经添加了 SDK 和 AndroidX: implementation 'com
有人知道如何使用 adMob 中介来管理 MMedia 的插页式广告吗? 我实际上使用 1) adMob Floor 2)MMedia(ID 横幅广告)3)admob“标准”。 想法? 在此先感谢您的
我想知道 Admob 中介的正确范例是什么。 到目前为止,我得到了一个普通的 AdView 横幅。 这就是它应该如何工作: onFailedToReceiveAd - 捕获此事件,这意味着 admob
背景 我们有一个相当复杂的 Silverlight 客户端,我们正在用 HTML/Javascript/CSS 重写它,构建在相同的 Web 服务之上。实际上,我们正在移植两个 Silverlight
是否有程序化方式来判断 AdMob 中介是展示 iAd 还是 AdMob 广告? 我的 GADBannerView 的父 View 必须根据正在展示的广告做一些特别的事情...... 最佳答案 您可以
我在使用 Applovin 和 Chartboost 实现 AdMob 奖励视频中介时被困了 3 天,代码完全找到了,但是当我启动应用程序时,它说“onRewardedVideoAdFailedToL
为此,我正在尝试将 iAds 集成到 Admob 中介 SDK 中,我从 Mediation website Download Link 下载了 iAdListAdapter并将其添加到我的 xcod
我是跟着Google的Admob/iAd mediation一步一步来的。我只会得到一个错误。这是确切的错误。我从 Xcode 复制并粘贴。 Ld /Users/RobShi/Desktop/Robf
我正在与多个第三方网络实现 AdMob 中介。我想测试这些网络中的每一个的调解是否得到很好的实现(广告很好地展示)。 我想强制显示来自定义网络的广告以测试其实现,然后快速切换到另一个网络。 执行此操作
我正在尝试通过 MoPub 调解 Facebook Audience Network,但我没有任何原生广告设置。我只想调解横幅广告和插页式广告。在 MoPub 文档中,没有关于横幅广告和插页式广告的说
假设我有一个 std::set , 我想知道它是否包含字符串 "name": #include #include using namespace std; bool has_name(const
我是一名优秀的程序员,十分优秀!