关于C++中Blob反模式的问题
Questions about Blob anti-pattern in C++
我正在使用C++为我们部门开发一个视频播放器。
该视频播放器有三个核心模块:读卡器(用于读取数据包)、处理器(解码原始数据)、显示句柄(在屏幕上绘制数据)。它们不是紧密耦合的类,这意味着它们在某种程度上独立地执行它们的工作。
但是,我有一个GUI模块,它将这三个模块和客户端连接起来。它将从用户那里检索命令,如暂停、继续、跳转到视频剪辑中的特定位置。然后,这个GUI模块将把作业委派给上面提到的三个模块。因此,这个GUI模块变得相当大,因为它包含了许多客户端将与之交互的功能。不过,我真的很小心,不要让这个GUI模块做任何真正的处理任务(它们是在三个核心模块上完成的),我担心这个GUI模块会变成God Object或"Blob",这是面向对象设计中的一种反模式。
这是GUI模块的示例声明:
class CorePlayer
{
public:
CorePlayer();
~CorePlayer();
public:
void start();
void pause();
void continue();
void jumpToFrame(int frameNum);
void toggleFullScreen();
.........
private:
Reader* rModule_;
Processor* pModule_;
DisplayHandle* dspHandle_;
}
……中有更多的功能。。。。。。。。地区它们是媒体播放器所需要的功能。它们不执行真正的处理,而是将作业委派给模块。
有人能帮助澄清我的担忧吗?这个GUI模块是一个使用所描述设计的"Blob"吗?
对我来说,这不像一个blob——它只是一个用于播放模块的功能丰富的GUI控制器。不过,如果它塞满了与播放无关的其他功能,如"设置"、"插件管理"等,它就会变成一个blob。
相关文章:
- 用户定义的文本运算符(在原始模式下)存在问题
- 使用策略模式设计软件时出现的问题
- OpenCV - 基本操作 - 性能问题 [模式:发布]
- 在发布模式下崩溃,但如果可调试为 true - 不是..什么是可能的问题
- 使用集合和映射来解决模式问题
- 在C++中寻找解决此问题的特定设计模式
- 在X64模式下从C /CLI调用MASM PROC会产生意外的性能问题
- 我试图在文本中找到模式,出了什么问题?
- C++ 中的代理模式问题
- 观察员设计模式问题
- 在非调试模式下运行代码时出现问题
- 在Windows 10上使用wxWidgets(MinGW模式)编译源代码的问题
- 二进制与文本模式下的文件操作 -- 性能问题
- 与访问者设计模式的实现相关的问题
- 工厂设计模式问题
- 模糊滤镜的 OpenCV 边框模式问题
- 协议缓冲区,让C#与C++对话:类型问题和模式问题
- 对象池设计模式问题
- c++设计模式问题.单接口多实现
- MFC中的ID模式问题