擅长:python、mysql、java
<p>看起来您想基于<code>use_option</code>向<code>ExampleClass</code>添加一些额外的行为。我只需要编写两个类(一个派生自另一个添加了额外行为的类),然后使用一个泛型名称来指向依赖于<code>use_option</code>的一个类:</p>
<pre><code>from package.my_module import OptClass
class SimpleExampleClass(base_module.BaseHandler):
pass
class ExtendedExampleClass(SimpleExampleClass, OptClass):
pass
ExampleClass = ExtendedExampleClass if use_option else SimpleExampleClass
</code></pre>
<p>这样,您甚至不需要在<code>ExtendedExampleClass</code>中添加额外的功能:它已经全部在<code>OptClass</code>中了。在</p>
<p>(也许这就是millimoose提到的策略模式;我不太清楚。)</p>