tag:blogger.com,1999:blog-6090406148702087504.post3522673402033148145..comments2015-04-28T10:44:55.182+09:00Comments on 中小W: 深夜、家に帰る途中のWebディレクター: 無名の質takahashihidekihttp://www.blogger.com/profile/16867100192703075879noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-6090406148702087504.post-73873035744268269092009-10-29T20:42:00.268+09:002009-10-29T20:42:00.268+09:00確かによくできたアプリケーションというのは、ちょっとおかしな使い方をしてもそれなりに予想どおりの振る...確かによくできたアプリケーションというのは、ちょっとおかしな使い方をしてもそれなりに予想どおりの振る舞いをしてくれることがありますね。要件としてコンテクストを沢山想定して作られているというよりも、各オブジェクトの働きが十分にシンプルだから処理の不整合が起き得ないという感じで。<br /><br />そういう、シンプルなオブジェクト同士が分子としてゆるくつながりあって、全体としてみると何か秩序が見えてくるようなものがいいですね。でもそれには優れたスーパークラスが必要ですね。何が起きても破綻しないような。もしくは、メモリーとかのリソースが把握できないぐらいふんだんにあって、メモリーリークみたいな世界の破綻要因がいっぱい存在していてもとりあえず全体的にはぜんぜん平気みたいな。<br /><br />まあ変な例え話はキリがないので、このへんにしときます。Unknownhttps://www.blogger.com/profile/13802538762891918206noreply@blogger.comtag:blogger.com,1999:blog-6090406148702087504.post-9498087264082640652009-10-29T15:31:08.194+09:002009-10-29T15:31:08.194+09:00>スーパークラスに対してサブクラスが機能を追加するというプラスの指向ではなく、スーパークラスの...>スーパークラスに対してサブクラスが機能を追加するというプラスの指向ではなく、スーパークラスの複雑さをサブクラスが制御していくというマイナスの指向<br /><br />>制御もれしたところに、無名の質が生まれる<br /><br />すごいこと言いますねー。おもしろい。<br /><br />そういえば、ソフトウェアのプログラミング技法のレイヤーでは、ドキュメントの揃え方とかコメントの入れ方、インデントやスペースの使い方みたいなコーディングスタイルのところに、まず、無名の質がありそうですよね。<br /><br />オライリーの「Perlベストプラクティス」 http://www.oreilly.co.jp/books/4873113008/ みたいな。<br /><br />名人が書いた、まるで古い街並みのようなコードとか。<br /><br />あと、コンセプトやインタフェースのレイヤーでなら、本来の意図からそれていく高エントロピー性が宿るようなところがありそうな ... 。<br /><br />誰かそれをカタログにしてくれないかな。<br /><br />というか、そんなこといってないで、まず、アレグのパタンランゲージを読め、ですね。読んでみます。takahashihidekihttps://www.blogger.com/profile/16867100192703075879noreply@blogger.comtag:blogger.com,1999:blog-6090406148702087504.post-29697215248532749422009-10-29T09:47:22.771+09:002009-10-29T09:47:22.771+09:00なるほど、考えると深いですね。
ソフトウェアでは、あるクラスを定義する上では外部からどのようなメッ...なるほど、考えると深いですね。<br /><br />ソフトウェアでは、あるクラスを定義する上では外部からどのようなメッセージがくるかを想定しそれに対する応答をあらかじめ仕込んでおかないといけないですからね。ポリモーフィズムができているからといって、想定されていないメッセージには応答できません。<br /><br />一方現実世界では、本来の目的にかかわらず、そのものの物理的な特性は自然界スーパークラスの全メソッドを継承していて、設計者の意図を超えて勝手に動いてますから、例外的なメッセージに対してもクラッシュせずに何らかの予測可能な応答を返します。それは予測可能だけれど、エントロピーの増大によって徐々に変化もします。<br /><br />ということは、寄りかかる() メソッドを作ることは意味がなくて、むしろ電車性が増すだけ。<br /><br />自然界を模すならば、スーパークラスに対してサブクラスが機能を追加するというプラスの指向ではなく、スーパークラスの複雑さをサブクラスが制御していくというマイナスの指向が必要なのかもしれません。そこで制御もれしたところに、無名の質が生まれると。Unknownhttps://www.blogger.com/profile/13802538762891918206noreply@blogger.comtag:blogger.com,1999:blog-6090406148702087504.post-18091352661608422382009-10-28T23:18:48.312+09:002009-10-28T23:18:48.312+09:00ああ! おお、なるほど!
> 本来の合目的性とは関係のない現象
ばっかりでもないんだろうけ...ああ! おお、なるほど!<br /><br />> 本来の合目的性とは関係のない現象<br /><br />ばっかりでもないんだろうけど、そういうのがやけに多いというところが、無名の質の一番の「らしさ」かも知れませんね。<br /><br />Webデザインまわりでも、実はそういうのがありそうですね。なんかないかな? すぐに出てきませんが。<br /><br />> XP とか Wiki とか GoF がアレグザンダーの影響を受けたというのはちょっと言いすぎ<br /><br />やっぱり三題噺としての結構を追いすぎちゃってるんですかね。<br /><br />XPは、でも、なるべく計画しすぎないように注意しつつ、利用者の気づきや気まぐれに積極的に付き合いながら、それこそ「自動車式」で設計していこう、という点において、多少なりとも無名の質を呼び込む方向に開けているような気はします。<br /><br />ただ、ペアプログラミングしてて、柱クラスに、寄りかかる()メソッド実装しようとしているの見たら、おい、ちょっと待てって咎めちゃうかもしれないですね。takahashihidekihttps://www.blogger.com/profile/16867100192703075879noreply@blogger.comtag:blogger.com,1999:blog-6090406148702087504.post-51530487239390578712009-10-28T21:10:30.182+09:002009-10-28T21:10:30.182+09:00無名の質が指すところの解釈については、僕も全く同じようなところです。というかそれを分かりやすく分析し...無名の質が指すところの解釈については、僕も全く同じようなところです。というかそれを分かりやすく分析してもらってありがたい感じです。<br /><br />パターンランゲージ作成の目的は無名の質を人為的に作り出すことだとすれば、OOD や UI のパターンは実は目的を履き違えていると言ってもいいと思います。<br /><br />その証拠に、アレグザンダーのパターンでは本来の合目的性とは関係のない現象を捉えたものが多いです。例えば柱は人が寄りかかれるようになってた方がいいとか、エントランスの階段は人が座ってたむろできるようになってた方がいいとか。<br /><br />だから個人的には、XP とか Wiki とか GoF がアレグザンダーの影響を受けたというのはちょっと言いすぎで、単に先人の知恵をカタログ化することの有用性に着目しているだけなように思っています。Unknownhttps://www.blogger.com/profile/13802538762891918206noreply@blogger.com