タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

phpとデザインパターンに関するtaketsのブックマーク (4)

  • 【PHPで学ぶデザインパターン入門】第6回 Observerパターン | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは、王です。 【PHPで学ぶデザインパターン】第6回はObserverパターンのご紹介です。 有名なのでご存知の方も多いと思いますが、「IFTTT」というサービスがあります。 このサービスはIf This Then Thatの頭文字を取ったもので、例えば「私が帰宅したら、彼女に、SMSで知らせるようにする」みたいなことができます。このように、あるイベントが発生したときに特定の行動をするものです。 「Observerパターン」とは 「私が帰宅したら、彼女に、SMSで知らせるようにする」の例で言うと、イベントは「私が帰宅したら」、行動は「彼女にSMSで知らせるようにする」、そしてSMS通知を受け取るのは「彼女」。さらに、通知を受け取る人は彼女に限定する必要はなく、たくさんの人に送ることもできますよね。 これが立派な「Observerパターン」です。 「Observerパターン」は以下の

    【PHPで学ぶデザインパターン入門】第6回 Observerパターン | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
    takets
    takets 2015/08/07
    疎結合の代表格
  • 【PHPで学ぶデザインパターン入門】第5回 Factoryパターン | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    こんにちは、王です。 【PHPで学ぶデザインパターン】第5回はFactoryパターンのご紹介となります。 Factoryパターンの考え方は実に簡単です。「クラスのインスタンス化業務を肩代わりしてくれるオブジェクト」を導入していれば「Factoryパターン」と言っていいのです。 要はクラスのインスタンス化を行う時に、自分でnew TheClass()するのではなく、factory.create('the_class')のように、「誰か」に代わりにやってもらうのです。その「誰か」が「Factory」です。いわば、オブジェクトを作るオブジェクトですね。「オブジェクトの製造所」 → 「Factory」というわけです。 インスタンス化で複雑なオプションが必要なときに活かせるパターンです。逆に言えば、インスタンス化がさほど難しくない場合には適用すべきではありません。必要以上にアプリケーションが複雑化す

    【PHPで学ぶデザインパターン入門】第5回 Factoryパターン | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
    takets
    takets 2015/08/07
    わかりやすい。
  • switch文を使ってはいけない

    昔Qiitaで書いた内容なんですが、PHPswitch文は悪名高い「==」演算子で比較を行います。 <?php switch (true) { case 0: echo '数字の0'; break; case '0': echo '文字列の0'; break; case '0.0': echo '文字列の0.0'; break; case true: echo '真偽値のtrue'; break; } このコードは「文字列の0.0」を出力します。大変分かりにくいですね。 この点はif ... elseif ...を使えば解決するんですが、switchで書きたくなるようなコードをelseifにするとおそらく読みにくくなるでしょう。 ではどうするか。 正解はオブジェクトのポリモーフィズム(多態性)機能を使うことです。 といっても、多態性で調べて出てくる記事とか書籍に関しては抽象的な説明が多い

    switch文を使ってはいけない
    takets
    takets 2014/08/14
    stateの効果。 確かにスマート。
  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
    takets
    takets 2006/09/06
    - 疎結合大事
  • 1