Мне трудно принять проектное решение
У меня есть класс в python, который обрабатывает данные формы, эти данные очень похожи на другие данные формы, и поэтому я реорганизую их в свой собственный объект, чтобы их могли использовать другие классы.
Делима - это погода, чтобы сделать этот процессор членом класса или родителем классов.
Пожалуйста, поправьте меня, если эта терминология неверна, вот что я разрываюсь между:
классы на основе монолитного наследования:
class FormProcessor(object):
def post(self):
# ... process form data
class PageHandler(RequestHandler,FormProcessor):
def get(self):
# show page
или более модульные классы на основе членов:
class FormProcessor(object):
def process(self):
# ... process form data
class PageHandler(RequestHandler):
def __init__(self):
self.processor = FormProcessor()
def get(self):
# show page
def post(self):
self.processor.process(self.postdata)
Я склоняюсь ко второму, но я не уверен, какие последствия могут быть в будущем с точки зрения ремонтопригодности. Причина, по которой я склоняюсь к этому, заключается в том, что мне нравится рассматривать обработку как действие, которое происходит, а не как основную часть PageHandler, поэтому имеет смысл сделать его объектом-членом, а не родителем.
Меня беспокоит, что когда классы пересекают функциональность, это заканчивается очень длинным списком функций в экземпляре, я пытаюсь классифицировать их лучше, чтобы программа была понятной и отражала систему, которую она моделирует.
с нетерпением ждем любых советов по этому вопросу