読者です 読者をやめる 読者になる 読者になる

#! /bin/blog

実行形式のブログです。というか、ほぼポエムです。

Helperクラスとは?

Helperというクラス。
Railsにも出てくるよね。
このHelperさんを、最近、よく見かけるんです。

Helperというディレクトリがあって、
画面の制御、ビジネスロジックの制御、ビジネスロジックそのもの、ユティリティ、データアクセスまで、
そこには、なんでも入ってるんです。

自由すぎて、逆に、困ります。

僕の認識が正しいかわからないけど、Helperクラスは、あくまで、プレゼンテーションレイヤに属していて、
描画処理を助けるものではないでしょうか。

例えば、画面に金額を表示する場合、「3000」ではなくて、「¥3,000」と表示したいとして。
そのとき、「3000」 => 「¥3,000」の変換処理が、Helperさんの役割かなと。

お金を扱うアプリケーションの場合は、金額は、いろんな箇所に表示されますので、
共通部品になっていた方がよいですね。

また、この変換処理は、ビジネスレイヤやデータアクセスレイヤでは使用しません。
使用するのはプレゼンテーションレイヤだけです。

他のレイヤで変換をしてしまうと、ある箇所では、3,000円などにフォーマットを変えたかったり、
国際化対応時に、やっかいなことになりますね。

そこで、プレゼンテーションの助っ人して、Helperさんが登場するのではないでしょうか。

ところで、J2EEでは、View Helperと呼ばれるものがあります。
そこには以下のように定義されていました。

「ビュー」を使って整形コードをカプセル化し、「ヘルパー」を使ってビュー処理ロジックをカプセル化します。
ビューは、POJO、カスタムタグ、または、タグファイルとして実装されるそのヘルパークラスに、処理を移譲します。
ヘルパーは、ビューとモデルの間のアダプタとして機能し、HTMLターブルの生成など、整形ロジックに関する処理を実行します。

単にヘルパーと言った場合も、これのことを指すのでは?

広告を非表示にする