我有个设计问题。 我做了一个酒店预订服务器类,它有“预订房间”、“取消预订”、“列出房间”、“获取用户预订”等功能,现在我想让这个服务器能够连接到其他服务器,这样我就可以创建一个主服务器和多个从属服务器。例如,当我列出房间的清单时,我会从主人和奴隶那里得到房间的清单。或者当我“获取用户预订”时,我从所有服务器获取预订。你知道吗
所以我想我将创建一个类来容纳主服务器和从服务器,并调用所有这些服务器上的函数:
class Master(object):
def __init__(self):
local = HotelServer()
self.slaves = [local]
def add_slaves(self, hotel_server):
self.slaves.append(hotel_server)
我将使Master类具有来自服务器的所有函数
def get_user_reservations(self, user):
result = []
for slave in self.slaves:
result += slave.get_user_reservations(user)
return result
def list_of_rooms(self, user):
result = []
for slave in self.slaves:
result += slave.list_of_rooms(user)
return result
好主意吗? 有没有什么模式来做这种节点网络服务器?你知道吗
接下来的事情是,大多数函数将是相似的,所以我可以做一些类似的事情吗
class Master(object):
def __init__(self):
local = HotelServer()
self.slaves = [local]
for f_name, f_content in HotelServer.__dict__.items():
if is_function(f_name) and is_public_method(f_name):
def function(*args):
result = []
for slave in self.slaves:
result += slave.f_name(*args)
return result
setattr(self, f_name, function)
所以它会从HotelServer获取每个方法,并在每个从服务器上使用这个方法?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐