Я применил принцип Open / Closed к коду, над которым я сейчас работаю.Пример приведен здесь:
def error_response(object)
return { errs: object.to_s, status_code: :internal_server_error,
has_error: true } if object.is_a?(Exception)
{ errs: object.errors.full_messages.as_json,
status_code: :internal_server_error, has_error: true }
end
Код используется в нескольких местах несколькими типами объектов.Принцип разделения интерфейса гласит, что в классе не должно быть методов, которые не вызываются всеми клиентами.
- Как я могу использовать эти два принципа вместе для данного примера?
- Зависит ли принцип открытия / закрытия от принципа разделения интерфейса или наоборот?