我有一个用Python编写的OOP解决方案,它主要集中在管理不同类型的硬件组件,如相机、伺服、接近传感器等
我有一帮运营经理。操作管理器基本上是一个类,其中定义了多个公共方法。我定义的规则如下:
1. Different operation managers can call each other’s public methods
2. Multiple operation managers are involved into one specific use-case
3. Operation manager's method execution depends on the result of the previous operation manager (if previous was successfully executed - execute this one, otherwise terminate)
4. Each operation manager must be able to report its failure to a common channel (logging)
5. There’s no need for a transactional behavior (rollback)
我的目标是
我一直在看CoR,但仍然不确定它是否是我的最佳选择。你知道吗
没有。责任链对于一步一步地处理某件事情很有用,其中每个组件可能或可能不参与,或者可能或可能不终止整个执行。它描述了“步骤”的线性排序,通常以“链接”的链表(负责处理特定数据的特定对象)来实现。HTTP拦截器是典型的例子。对于非线性排序,使用了一个图,它与
GoF
的责任链关系不大:“小”,因为链表本质上是一种图。你知道吗你所描述的太宽泛了,无法具体说明某个模式。根据代码复杂度、外部依赖性、用例数量和许多其他因素,使用很少的模式就可以解决这个问题。你知道吗
既然以
use case
原语为中心,为什么不在代码中严格定义它呢?一个UseCase
接受它需要的任何东西,并以某种统一的形式输出一个结果——您必须引入通用的结果/失败报告对象,这个对象足够通用,可以被所有用例重用。你知道吗我所描述的不是一种模式,至少不是一种
GoF
模式,尽管这绝对是专门化您的需求和期望的一个很好的起点。你知道吗相关问题 更多 >
编程相关推荐