タグ

codezineとjavaに関するRedCap97のブックマーク (2)

  • デザインパターンの使い方: Composite:CodeZine

    Compositeパターンの例 コンポジット(composite)とは、他の複数のオブジェクトからなる複合物のことです。Compositeパターンは、クライアントコードが複合オブジェクトを非複合オブジェクトと同じように扱うことのできる状況で使われます。 稿のサンプルでは、SQLの複合条件を表現するという要件をCompositeパターンでいかにスマートに実現できるかを示します。SQLの単体の条件句(例えばname like 'abc%'など)は、andなどの接続詞を使って結合できます。従って、and式はlikeなどの句から成る複合句と考えられます。 コンポジットの組み立て方を紹介するために、まず低レベルで必要とされるオブジェクトを実装することにします。 最初にColumnクラスで列の名前をカプセル化します。各種のSQLステートメントを構築するときに必要な列の詳細情報は、このColumnクラ

  • デザインパターンの使い方: Singleton:CodeZine

    Singletonパターンの例 Singletonはおそらく最も非難されているソフトウェアデザインパターンでしょう。その点では、開発者たちから複雑すぎるとけなされることの多いVisitorパターンといい勝負です。しかし、Singletonのベースにある考え方は単純で、アプリケーションの実行中に特定の型のインスタンスが1つしか存在しないことを保証する、というものです。 Javaのデフォルト動作では(他の大部分の言語でも同じですが)、クラスのインスタンスはいくつでも作成できます。J2SE 5まで、Javaにはインスタンスの数を制限する直接的な方法はありませんでした。J2SE 5以降のバージョンでは、enum構造を使って特定の型のオブジェクトの数を制限することができます。また、既知のインスタンスそれぞれに一意の名前を付けることもできます。 CやC++などの言語では、enum(列挙)は単なる一連の

  • 1