我有一个用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
基本体为中心,为什么不在代码中严格定义它呢?一个aUseCase
接受任何需要,并以某种统一的形式吐出一个结果-您必须引入通用的结果/失败报告对象,该对象必须足够通用才能被所有用例重用。
我所描述的不是模式,至少不是GoF
模式,尽管绝对是专门化您的需求和期望的良好起点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句