タグ

DDDと設計に関するsagasiteのブックマーク (2)

  • フレームワークへの依存をいかに減らすか — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    CodeIgniter Advent Calendar 2020 の記事ですが、今日は「フレームワークへの依存をいかに減らすか」というテーマです。 フレームワークの入門書、入門記事、公式ドキュメントには多分出てこない話題です。 フレームワークの罠 CodeIgniter4 についてチュートリアルから始めて、いろいろと書いてきました。 普通にユーザガイドを読んでアプリを開発していこうとすると、アプリは以下のように階層化されます。 黒い矢印は依存です。 MVC パターン 依存とはそれを使うということです。 コントローラがモデル、ビュー、そしてフレームワークに依存します。モデルもビューもフレームワークに依存します。 要するにフレームワークのユーザーが書くコードはほぼ全てフレームワークに依存します。フレームワークと密結合します。フレームワークがないとほとんど全く動きません。 普通にフレームワークを

    sagasite
    sagasite 2021/11/21
    ADOP パターン フレームワークへの依存を減らす方法の 1つに ADOP(Application Domain Others Pattern) があります。
  • ドメイン駆動設計というソフトウェア開発のやり方 - ソフトウェア設計を考える

    この記事はドメイン駆動設計を取り入れたソフトウェア開発を実際にどのようなやり方で進めているかの事例紹介です。 2021年10月のモデルベースで要件定義をやってみた - connpassで発表した資料の解説です。 設計の効果 良い設計は悪い設計よりも変更が楽で安全です。 ドメイン駆動設計は、そういう良い設計を目指すための設計の考え方とやり方の一つです。 ドメイン駆動設計の特徴は次の2つです。 ソフトウェアで扱うさまざまなロジックとデータをドメインに焦点を合わせて整理して記述する 関連するロジックとデータを一つのクラスにカプセル化する ドメインとはソフトウェアの対象領域です。業務アプリケーションであれば、事業活動がドメインです。この記事では、ドメイン(事業活動)に焦点を合わせたクラス設計の考え方とやり方の基的な流れを紹介します。 画面やユースケース中心のソフトウェア開発 アプリケーション開発

    ドメイン駆動設計というソフトウェア開発のやり方 - ソフトウェア設計を考える
  • 1