デザインパターン-Facade



Facadeパターンとは

Facade(ファサード)パターンは、複雑な内部処理(認証処理やデータベース処理など)を隠蔽し、利用者にシンプルなインタフェースを提供するパターンです。複雑な関連性のあるクラス群やサブシステムなどの機能を呼び出す「窓口=Facade」を用意することで、ユーザに意識させないという目的もあります。

「Facade」は、「建物の正面」という意味です。


構成要素


rubyによるFacadeパターンの実装

#!/usr/bin/env ruby

# module(処理)
class Database
  def self.get_data(id)
    # データベース処理
  end
end

# module(処理)
class HtmlCompose
  def self.create(data)
    # HTML記述処理
  end
end

# Facade(正面・窓口)
# ページ名を指定すれば、DBアクセスやHTML記述を行う。
class PageView
  def PageView.viewer(id)
    data = Database.get_data(id)
    page = HtmlCompose.create(data)
  end
end

PageView.viewer("page_id")

関連ページ




スポンサード リンク