我一直在深入研究Sinatra,我注意到一些项目在他们的应用程序中定义了多个配置块。我找不到任何解释原因的原因。我的猜测是出于可读性目的。
module TestApp
class App < Sinatra::Application
configure do
set :database, lambda {
ENV['DATABASE_URL'] ||
"postgres://localhost:5432/test_app_#{environment}"
}
end
configure do
disable :method_override
disable :static
set :protection, except: :session_hijacking
set :erb, escape_html: true
set :sessions,
:httponly => true,
:secure => false,
:expire_after => 5.years,
:secret => ENV['SESSION_SECRET']
end
configure do
Mail.defaults do
delivery_method :file
end
end
...
end
end
答案 0 :(得分:0)
除了可读性之外,还有神经症缓解剂的组块和#34;为了清晰度(WIP)。它们作为有意义的分组(对于个体开发者而言),具有个人内部和#34;逻辑&#34;为设置和配置定义的展示位置。
一些是特定组件(邮件,数据库等)和一些漫反射和一般(各种性质的app配置,但与前一个特定块无关)。通常它会与核心应用程序和扩展功能相关,我猜。像mental SOA迷你地图一样,说明了与各个开发者的应用心理映射相匹配的配置。随着应用程序的发展,它将随着应用程序的发展而不断发展和重组,并将从开发人员的应用程序发展到应用程序。