タグ: デザインパターン

開発

DDDをまとめる to be 最強

  【最強の技術者集団】を謳う倍率200倍のアプリ会社に転職した。 転職は入ってみないとわからない チョコレートの箱のようなもの👦🎁✨   転職後に初めて携わったプロジェクトが2名の技術者によるバックエンドで、DDDの思想を受けて作られたものであった。 ソースコードを見た この会社に入って良かった。 「当たりを引いたな🎁✨」と確信。*1   他の既存のシステムを拡張す …

開発

Switchとif elseif クソコード動画「Switch」から学ぶ

  クソコード動画「switch文」 #ooc_2020 pic.twitter.com/USTrFcRCAS — ミノ駆動 (@MinoDriven) February 16, 2020 switch文, if elseif書くぞ! → Factory, Strategy, Stateを考える 毎日5分程でも開発定例MTG設ける(動画17秒付近) コミュニケーション大事   …

開発

Managerクラス クソコード動画から学ぶ

  クソコード動画「Managerクラス」#すえなみチャンス暑気払い pic.twitter.com/3FSQDkXfHu — ミノ駆動 (@MinoDriven) August 3, 2019        爆速レンタルサーバならConoHa WING  サーバはプロに全部お任せ!「仕事」に専念したいあなたにおすすめです。    ConoHa VPSで運営してま🐱  サーバの勉強がした …

開発

共通化モジュール クソコード動画から学ぶ

  クソコード動画「共通化の罠」 pic.twitter.com/MM750CNXc2 — ミノ駆動 (@MinoDriven) May 12, 2019 共通モジュールに特定クラスの分岐処理を入れてはいけない あってはいけない…😨 1分30秒付近でPMが個別に別れとけ!って言われてからクラスFがさらっと、分岐処理を追加するのが闇が深い。   分岐処理が未来で共通処 …

PHP

イミュータブルPHP クソコード動画「カプセル化」から学ぶ

  クソコード動画「カプセル化」 pic.twitter.com/kAhXCEHYVT — ミノ駆動 (@MinoDriven) June 23, 2019   問題 データが書き換わってしまってしまう。   対応 イミュータブルにする getter/setterをつくらない     ミュータブル(可変)   client.php &lt …

PHP

Laravel ポケモンでリポジトリパターン

https://github.com/yuukanehiro/Laravel-Study/tree/master/Laravel-Pokemon-RepositoryPettern   よくある処理の流れのルーティンをポケモンのモデルを利用して作ってみました。 ソースコードを読めても、実際にどれだけ自分が使えるかわからなかったので。書いて確認しました(。- .•)   関連 L …

PHP

【工事中】PHP Specificationパターン

namespace App\Specifications; 家でやる。 判定を行う   @see Practical DDD #1: Specificationパターンの例 DesignPatternsPHP/Behavioral/Specification/ LaravelでDDD その1            爆速レンタルサーバならConoHa WING  サーバ …

PHP

PHP Adapterパターン

  使いどころ 既存のクラスに変更を加えたいが、直接ソースの変更を行いたくない。       WatchYoukai.class.php <?php /** * 指定されたファイルを表示するクラスです */ class WatchYoukai { private $filename; public function __construct($filen …

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

Factory Method パターン PHP

    使いどころ 一度生成したインスタンスに対して変更をさせない 外部からインスタンスを生成させない。Robot::creteRedRobot(), Robot::createBlueRobot()からのみ生成が可能     <?php class Robot { private $name = ”; private $color; public …

PHP

PHP カプセル化

メンバ変数をprivateにすることで、生成したインスタンスのプロパティに直接アクセスさせない。 下記みたいにプロパティにアクセスして表示させたりしていると、この変数に対して何か加工をしようとした時に、表示させているすべての箇所をテストしたり、修正する必要が出てくるかもしれない! $obj = new Product($data); echo $obj->name; // プロパティにアクセ …