タグ: オブジェクト指向

PHP

Laravel リポジトリパターン

  リポジトリパターンのスタイルにするのが勝ちパターンみたいなので覚える。 確かにわかりやすいし、テストしやすくなる。 テストの切り分け 本来はコントローラのテストだけ、DBのテストと別でテストできるものでなくてはならない   下記サイトを参考にやってみました。 https://www.ritolab.com/entry/165   /database/factori …

SEノウハウ

デザインパターン まとめ

    Template Method abstract classして親は抽象クラスとして定義し、共通メソッドとクラス毎に処理が変わる処理をabstract methodを定義する 継承した子クラスは親クラスでabstractで指定したメソッドを実装することで、共通処理を保証しクラス毎に異なる処理を定義できる。   Singleton 1つのクラスに1インスタンスし …

PHP

PHP Facadeパターン

      BuyController.class.php ※Facade適用前

コントローラが肥大化する! コントローラにModel部分の処理が入ってきている…。       Facadeパターンを適用する   Controllerで行っていたMod …

PHP

PHP Adapterパターン

  使いどころ 既存のクラスに変更を加えたいが、直接ソースの変更を行いたくない。       WatchYoukai.class.php

  client.php

        …

PHP

PHP Template Methodパターン [PHPによるデザインパターン入門]

絶版されているけれど、Google booksで公開されているのが見れます。 https://books.google.co.jp/books?id=sXNh4TeQeBIC&printsec=frontcover&hl=ja#v=onepage&q&f=false 1日1パターンってことで演習してアウトプットしていきます。   使いどころ 似たような処理 …

PHP

PHPの継承 Interface 抽象クラスabstract 多重継承Trait

  interface 使いどころ 継承先が不特定な場合 特徴 多重継承ができる。 interfaceで用意した関数は実装先で定義しなければならない。   abstractクラス 使いどころ 特定の派生先で一部の実装が異なる場合   特徴 abstractの修飾子をつけたものは、継承先で定義しなくてはいけない。   [crayon-5d8095de71e87 …

PHP

Singleton パターン PHP

    使いどころ   複数のインスタンスを使いたくない。 1つのインスタンスで使い回しがしたい。     1つのインスタンスしか作成できないように保証し制御します。 クラスにアクセスするためのグローバルな方法も提供します。     Singletonのポイント   インスタンスを代入する静的メンバを作っておきます。 …

PHP

クラス array() 静的メソッドの特殊な呼び出し方 PHP

  array()を使って、クラスと静的メソッドを指定したインスタンスが作れます。 WordPressのプラグインのフックにメソッドを追加するときによく使いますね。  

    表示結果   都会ってすごいズラ にゃーけーびー~~! 優元気だして!私がついてるわん   &n …

PHP

Factory Method パターン PHP

    使いどころ 一度生成したインスタンスに対して変更をさせない 外部からインスタンスを生成させない。Robot::creteRedRobot(), Robot::createBlueRobot()からのみ生成が可能    

  表示 優ロボットred   constru …

SEノウハウ

ざっくりオブジェクト指向

  オブジェクト指向で実装するメリット 拡張性 ・それぞれクラスとして独立性、拡張性を高める。 ・変更に強くなる。 開発効率 ・一連の処理をまとめて部品化し、再利用を行うことで開発効率をあげる   3大要素 独立性 Aクラス、Bクラス、Cクラスとそれぞれ独立させて、Aの変更がB, Cクラスに影響しないようにする ※密に結合しているとAクラスの変更を行うと、Bクラス、Cクラスも大 …

PHP

PHP Iteratorパターン [PHPによるデザインパターン入門]

絶版されているけれど、Google booksで公開されているのが見れます。 https://books.google.co.jp/books?id=sXNh4TeQeBIC&printsec=frontcover&hl=ja#v=onepage&q&f=false 1日1パターンってことで演習してアウトプットしていきます。   iterate = 反復す …

PHP

PHP グローバル変数とスコープ

  ローカルスコープ 変数には範囲(スコープ)があり、変数は関数内の範囲で有効   グローバルスコープ グローバルスコープは関数内を超えて、1スクリプト内で有効になる クラス内のstatic変数もグローバル変数と同等 シングルトンもある意味グローバル変数と同等   使いどころ 関数内を超えて変数を扱いたい場合 変数のスコープは可能な限り最小の範囲にするのが望ましい & …