Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 发布/订阅模式的正确类/接口名称是什么?_Design Patterns_Coding Style_Naming Conventions - Fatal编程技术网

Design patterns 发布/订阅模式的正确类/接口名称是什么?

Design patterns 发布/订阅模式的正确类/接口名称是什么?,design-patterns,coding-style,naming-conventions,Design Patterns,Coding Style,Naming Conventions,我有这个界面,让某人听某个事件 interface XXX { void subscribe( string event, func callback ); void unsubscribe( string event, func callback ); } 另外,我还有另一个接口,它提供了一种“发布”事件的方法 interface YYY { void publish( string event, params[] params ); } 然后,我有一个实现两个接口

我有这个界面,让某人听某个事件

interface XXX
{
    void subscribe( string event, func callback );
    void unsubscribe( string event, func callback );
}
另外,我还有另一个接口,它提供了一种“发布”事件的方法

interface YYY
{
    void publish( string event, params[] params );
}
然后,我有一个实现两个接口的类。它充当一个“广播站”,人们可以在这里订阅一些活动,也可以在上面发布内容,这样每个连接的人都可以获得活动

class ZZZ: XXX, YYY
{

    void subscribe( string event, func callback )...
    void unsubscribe( string event, func callback )...
    void publish( string event, params[] params )...
}
我的问题是,我无法找出这些类/接口的正确名称。目前,我正在使用IEventBroadcaster进行订阅/取消订阅,IEventPublisher用于发布部分,Broadcast Station用于实现这两个功能的类

我想知道这个场景是否有某种标准命名


提前感谢。

IPublisher和ISubscriber有什么问题?或者如果您想要“光滑”的功能,指示接口、IPublishEvents和ISubscribeToEvents


对于实现此接口的类,名称应该描述该类的用途-假设该类的用途不仅仅是发布和订阅事件。

我相信您正在寻找一个观察者:


因此,您可以使用classig register/unregister/notify names。

询问So开始有点烦人。不是我没有得到答案,而是我没有得到更糟糕的视图。人在哪里?不要在接口前加上“I”。请看这里:我对这一点没有强烈的意见,但你可以为双方都提供意见。我认为重要的是要始终如一。