擅长:python、mysql、java
<p>好吧,您可以使用发布和订阅模式来实现这一点。大致来说,可能是:</p>
<pre><code>class CriticServer:
def __init__(self):
self.clients = []
def insert_client(self, client):
self.clients.append(client)
def execute(self):
for client in self.clients:
client.run()
class CriticClient:
# move what you would inherit from server to here
def __init__(self, server):
server.insert_client(self)
class DatabaseCriticClient(CriticClient):
def run(self):
pass
class DiskSpaceCriticClient(CriticClient):
def run(self):
pass
def main():
server = CriticServer()
DiskSpaceCriticClient(server)
DatabaseCriticClient(server)
server.execute()
</code></pre>
<p>因为我对你的项目不太了解,所以我想说,为客户机创建一个基类而不是对服务器进行子分类是一个更好的主意。你知道吗</p>
<p>也许它没有太多的魔法,但它工作得很好,很容易理解和扩展(有时比纯魔法更好)。你知道吗</p>