На моем сайте у меня есть функции, которые я хочу включить: & отключить пользователя. Я создал класс, который реализует эту логику в производительном способе, поэтому он загружает все функции с одним запросом и т.д. немного упростило это выглядит следующим образом:Что это за дизайн?
class FeatureAdapter
attr_accessor :controller
delegates :current_user, to: :controller
def initialize(controller)
self.controller = controller
end
def enabled?(name)
# logic here
end
private
def feature(name)
features.find { |f| f.name == name }
end
def features
@_features ||= Feature.all
end
end
Что такое название этого шаблона? Я бы сказал, это адаптер, но я не уверен в этом.
Возможно, это фасад? – iGEL
Это не похоже на какой-либо узор для меня. Это не шаблон адаптера, потому что вы не переводите между интерфейсами (и насколько мы можем сказать, вы вызываете этот класс напрямую). Я не решаюсь называть его Фасадом, потому что он тоже ничего не скрывает. – Dai
@ Дай откликнулся, и я приму это. :) – iGEL