タグ

開発と設計に関するyutaka_kinjyoのブックマーク (3)

  • 役割駆動設計で巨大クラスを爆殺する - Qiita

    大量のメソッドを保有し、数千、数万行単位にぶくぶく膨れ上がった巨大クラス。別名「神クラス」とも「大きな泥団子」とも呼ばれる、長大で複雑で密結合で極めて変更が困難なアイツ。 そんな巨大クラスの退治に有効な、ドメイン駆動設計を基思想とする「役割駆動設計」を紹介致します。 解決したい課題、狙う効果 数千、数万行単位の巨大クラスの登場を抑止する。 小さくシンプルな構造に落とし込み、堅牢で変更容易性の高い設計へ昇華させる。 例1:筆者をモデリング 分かりやすくなるよう、まず私を例にモデリングしてみます。私は以下のような特徴があります。 IT企業の従業員 家族がいる(, 子供) 趣味ゲーム制作している ダメな設計 何も考えずに人クラスとして設計すると、よく以下のような構造になりがちです。 従業員として仕事をする、父親として家族サービスする、趣味としてゲーム制作する、それぞれのメソッドが備わってい

    役割駆動設計で巨大クラスを爆殺する - Qiita
  • Smart UI が優れている? | システム設計日記

    Domain-Driven Design (DDD) で、アンチパターンとして取り上げられている Smart UI 。 ある文脈( context ) では、Smart UI はとても優れている。(と、エバンスも書いている) 実際、私たちが、取り組んだ5年前の開発プロジェクトでは、徹底して、Smart UI でがんばった。 プロジェクトの背景 ・短期間に既存のアプリを作り変えたかった ・中核メンバーは、寄せ集め。( 設計や実装について、経験や考え方が見事にばらばら ) ・多数の作業者は、一年目のジュニアたち ・既存システムのソースコードは、ない。 Visual Studio で、画面量産 既存システムがあるわけだから、とりあえず、 ・画面の一覧、すべての画面のHTML ・テーブル一覧、テーブル設計と実データ は、そろっている。 400画面くらいをメンバー10人に割り振って、ひとりあたり、4

  • 時間をかけて、つまらないものを作りたいか? - futoase

    時間をかける つまらない想像話を以下に書く。 失敗してはいけない。成功しなければ行けないプロダクトだ。 企画から色々と実装アイディア、目的とするユーザー像を聞いている。 それに見合ったシステムを実装しなければならない。 あと6ヶ月で。その間は徹底的に企画と話をする。 部長と話しをして、駄目だったら作りなおす。 6ヶ月の間、エクセル上にガントチャートを引き、開発スケジュールを引いた。 企画・営業は2名。そのうち1名はマネージャ的な担当を行う。 部長は最終決定を下す(と聞かされている)。 エンジニアは3名。チームとしてはまあ良いほうだろう。 3ヶ月後 何を作っているのかわからなくなってきた。 具体像もわからない。 エクセルに書いたガントチャートは、意味を成していない。 ガントチャートを直そうと思うと、他の予定もずらさなければいけなくなり、 だるくなってだれも更新しようとしない。 システム全体の

    時間をかけて、つまらないものを作りたいか? - futoase
  • 1