タグ: デザインパターン

Architecture

継承より委譲

クソコード動画「継承」 pic.twitter.com/wK3mIx6XmE — ミノ駆動 (@MinoDriven) January 24, 2021 @see   なぜデザインパターンを理解できないのか やはりお前らのコンポジションは間違っている オープン・クローズドの原則(Open-Closed Principle) 拡張に開いていて、変更には閉じていなければいけない &#823 …

開発

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秒付近) コミュニケーション大事 &nbsp …

開発

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

  クソコード動画「Managerクラス」#すえなみチャンス暑気払い pic.twitter.com/3FSQDkXfHu   — ミノ駆動 (@MinoDriven) August 3, 2019 クラスの命名が悪い →命名はそのクラスの範囲 (スコープ)を表現する 1つのクラスは小さく、堅牢に保つ そのクラスをいじって他のクラスに影響を与えてはいけない ・Interface、Faca …

開発

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

  クソコード動画「共通化の罠」 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 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 …