Commentどうもこんにちは。引き続き読書会を開催しています。題材としては「デザインパターンとともに学ぶオブジェクト指向のこころ」です。事前準備(一応途中参加も受け付けております。外部からの参加も全然OKです)appear.inにて参加(参加希望の方はfuruya0102@growth-and.comまでご連絡ください)音声通話の準備(マイクとヘッドホンの準備。今回の説明も諸事情により古家が担当しました。今回はいったんデザインパターン個々にフォーカスを当てるのをやめ、設計に関しての話になります。本書でたびたび登場するアレキサンダーさんの建築における方法論を使い、それが我々のシステム開発にどのように生かせるか?というところを検討していく回でした。少々翻訳側のミスなのか、よく意味が分からない文脈が目立ちますね。言わんとしていることはなんとなくわかるので問題はないですが、「胎児の成長になぞらえ」?とかいきなり出てきてビビります。その心は?ってなってました。あと、前掲書の引用がたびたび出てきてますが、本を持っているわけではないのでそれもちょっとどうかと思います。Alexanderという方の本になぞらえて設計方法論を学んでいくという章です。Buildingという本から設計論について感銘を受けたというところから始まり章自体を作者の実体験をもとになぞって説明していくものですのでストーリーだっています。要約だけまとめたいと思います。システムをくみ上げるとき詳細に目をつけまとめ上げていくのか全体像をとらえてブレイクダウンするのかそれともその他があるのかどのようにしていけばよいのかというのを建築学から考察していきます。結果を先に言うと全体像をとらえてブレイクダウンしていく、ということですが、それが具体的にどういうものなのかを示すと、システム自体のコンテキストの粒度を詳細にしていき、デザインパターンを当てはめていく作業の連続、ということになります。問題に対してどういうデザインパターンを当てはめられそうか?→当てはめるとメインの処理が決まり、そこからさらに各処理を実現するパターンを見ていくことができ、、、っていうことでそのパターンを見定めたら後は実装に入るだけとなります。ちなみに、機能を洗い出し、それらをまとめ上げるようなアプローチもありますが、そちらのパターンは機能ありきになってしまい、それらをまとめ上げる際に不都合が生じやすいです。自分の家を建てる際に、面積や道路にどのように接しているかを考えずにいきなりトイレが必要だからトイレを作るなどで定義しても、あとでそれが家に素直に収まるわけがないということです(大きすぎて、他のレイアウトが疎かになったら全体の調和がとれない)。駐車場を作ったけど、道路との調和を考えないがために車の出入りで何回も折り返すことになったとかもそうですね。アレキサンダーさんは建築学ということから述べているので、そっくりそのまま当てはめることは出来ないかもしれませんが、基本的にはシステムに対してもそういう観点は重要です。この本の範疇ではないですが、そういう開発はテストにおいても書きやすいテストになったりしますし、我々も設計において注意していきたいところですね。次回について次回は8月6日になります。対象範囲は13章CAD/CAMの問題をパターンによって解決するで説明は玉尾さんに行っていただく予定です。authorfuruya0102C#とオブジェクト指向が大好き。炎上しないプロジェクトにどうやったら導けるかを常日頃考えている。保守性の悪いコードを見ると蕁麻疹を出し泡を吹き発作の末倒れる。プロジェクトが混乱しているとPMを憎むようになる。得意料理はきんぴらゴボウ。参加費は無料なので私に声かけていただければ。コメントデータの処理方法の詳細はこちらをご覧ください。RSSWordPress.org。