我已经对当前正在使用的代码应用了“打开/关闭”原理。此处给出示例:
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
该代码在几种地方用于多种类型的对象。接口隔离原则指出,该类不应具有 all 客户端未调用的方法。