アレグザンダーやDDDなどについてのブログと感想のまとめ

https://note.com/tenjuu99/n/ne10d7b54f0a1 のブログに対する感想メモ
0

以下のブログに対する、杉本さん(@sugimoto_kei)ときょんさん(@kyon_mm)のつぶやき。

アレグザンダーとソフトウェアにおけるデザインパターンについての覚書

リンク note(ノート) アレグザンダーとソフトウェアにおけるデザインパターンについての覚書|tenjuu99|note 難波和彦氏のアレグザンダーに関する批評を読んで、いろいろ思うところがあった。これはアレグザンダーの方法や業績を概観できる素晴らしい批評なので一読することをお勧めしたい。 難波和彦+界工作舎www.kai-workshop.com 断っておきたいが、ぼくはアレグザンダーを詳しく読み込んだわけではないため、以下の記述はただの雑感である(と、いちおう予防線を張っておく)。 構造はどこにあるのか 建築や都市は人間がつくるものである。この意味で建築や都市は思考が現実化された存在である。一般的に建築家や都市計画家は外 20 users 4

このブログ自体は、難波和彦氏によるクリストファー・アレグザンダー氏の思想・方法・業績についての評論を読んで、触発されて書いたものです。

リンク www.kai-workshop.com 難波和彦+界工作舎 15 users 11

天重誠二 @tenjuu99

怪文書です アレグザンダーとソフトウェアにおけるデザインパターンについての覚書|tenjuu99 @tenjuu99 #note note.com/tenjuu99/n/ne1…

2019-12-27 16:53:44
天重誠二 @tenjuu99

自分でもこの文章は怪文書度高いという自覚はあります。ただ、難波氏のこのテキストは本当に読んでほしい。 kai-workshop.com/archives/073.h…

2019-12-27 19:27:56
杉本啓 @sugimoto_kei

怪文書w読んだ。DDD本の第2部がパタン・ランゲージとして失敗しているという説。まったくその通りだと思う。エンティティとか集約、値という「パタン」は、設計をまったく喚起しない。シェアパイは値かもしれないが、それは結果論。「値を見つけよう」と考えてシェアパイが見つかるものではない。 twitter.com/tenjuu99/statu…

2019-12-28 11:11:21
杉本啓 @sugimoto_kei

第2部が「モデル駆動設計の構成要素」とされているのは重要だ。モデル駆動設計、すなわちモデルと実装を結び付けるためのパタンであって、モデルそのものを作るためのパタンではないんだ。その意味でエヴァンズさんは嘘は言っていない。少々混乱させる面はあるけど。

2019-12-28 13:24:39
杉本啓 @sugimoto_kei

モデルそのものの設計は第3部「より深い洞察へ向かうリファクタリング」で扱われている。ここでの扱い方は問題。第2部のモデル駆動設計を前提に、そこで得られたクラス構造をリファクタする体裁を取っているから、第2部のパタンがモデルの設計と強く結びついているように見えてしまう。

2019-12-28 13:37:46
杉本啓 @sugimoto_kei

実際には、モデル駆動設計のパタン(モデルと実装の対応付けパタン)と、モデル自体の設計はあまり関係ない。船荷証券は値オブジェクトにすることも出来るし(XML文書として)、エンティティとすることもできるが、それは船荷証券の概念に影響を与えないはずだ。

2019-12-28 13:41:17
杉本啓 @sugimoto_kei

そんで、じっさい、第3部でモデル自体の設計に適用できるパタンが提示されているかといえば、ほぼ提示されていない。第10章(しなやかな設計)で断片的なパタンがいくつか示され、後は11章と12章でアナリシスパターン、デザインパターンの適用可能性が示唆されているだけ。

2019-12-28 13:44:51
杉本啓 @sugimoto_kei

つまり、モデル設計自体には、いくつかヒントはあるけれど自分で考えなさいということ。その点、エヴァンズさんは正直だ。彼の冒した誤りは、モデル駆動設計のパタンを強調し過ぎたことと、そのモデル駆動設計パタンを前提にモデル設計を語ったことだろう。特に後者は、スジが悪かったと思う。

2019-12-28 13:49:46
杉本啓 @sugimoto_kei

@tenjuu99 難波和彦氏の批評も読みました。極めて面白いですね。「タイムレス」における、オリエンタルな、ある種、大きな流れに委ねるような感じとは異なり、アレグザンダー氏自身は、かなり意志的かつ合理主義的なひとなんじゃないかという感じがしました。そのあたりの矛盾がまた興味深いです。

2019-12-28 16:54:28
天重誠二 @tenjuu99

@sugimoto_kei ぼくの怪文書より難波和彦氏の文章を読むほうが良いですよね笑。アレグザンダーだけでなくアラン・ケイやアジャイルも東洋的なアイデアを取り入れようとしているところがありますよね。このあたり近代デザインから現代のデザインの変遷を理解する際にキーになるかなと、個人的に思っています。

2019-12-29 00:53:25
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

デザインパタンがパタンランゲージとして機能していないように見えることは、みている範囲が狭いからだとおもうな。ただのつくりかたパタンとしてみる人もいるだろうけど、そうじゃない人達もそのなかからうまれているとおもう。またそこが土台での会話も成立しているのだから別にってかんじ。

2019-12-28 04:43:52
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

デザインが対話であるというのは、人間がデザインという行為を見出したいという意味においてはそうだとおもう。デザインを知らない人は「いい形と色だね」とかいうだろうし。

2019-12-28 04:46:42
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

パタンは自然言語だから曖昧になのではない。それはプロセスのせいだ。 デザインプロセスではユーザー、デベロッパーなど様々な人々と会話する必要があり、バランスが欠けると「ユーザーにとってはどうでもいい用語がある」とか「デベロッパーに十分な構造が見えない」とかがおきる。

2019-12-28 04:50:27
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

よいデザインプロセスの1つ要素には「よい未来」と「よい実装」がうまれそうっていう感覚を関係者がもてることがあって、できあがったものをつかってみたときに、ある種のオタクたちが「このデザインは。。。」と思想をめぐらし、またあらたな知見をえるという繰り返しなのだとおもっている。

2019-12-28 04:52:17
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

アレグザンダーのパタンランゲージの結果だけをみると「あぁ生活をデザインしたいんだな」「これでどうやって実装するのだ」とかになるだろうし、ソフトウェアのほうをみれば「実装はわかった」「ユーザーのなにを表現できたというのだろう」とかになるだろう。

2019-12-28 04:56:36
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

いまのところ、ユーザーとデベロッパーの両者にとって必要十分なランゲージの側面というのがみつかっていないだけであり、また、それは存在しないとしたら、ことなる側面をデザインプロセスのなかで注視しなければいけないというだけだとおもっている。

2019-12-28 04:56:47
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

エヴァンスのDDDがわかりにくいのは、ユビキタス言語という重要な概念を提案してくれたと同時に、いくつかの側面を注視する大切さを伝えようとして、後者の伝えかたがいくばくか(もしくは恣意的に)うまくないということだとおもう。

2019-12-28 04:59:59
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

ソフトウェアが複雑になるにつれ、建築でいう内装がUIデザインに、構造設計がシステムアーキテクチャデザインみたいになってきていて、これらをデザインとしてどう俯瞰できるようにするのかというのは非常に興味のある話。

2019-12-28 05:08:52
きょん@アジャイルコーチ、システムアーキテクト @kyon_mm

という与太話。このブログをみておもったことをつらつらと。 note.com/tenjuu99/n/ne1…

2019-12-28 05:12:55