タグ

設計に関するflower_roomのブックマーク (2)

  • C# 5の非同期、パート6: asyncはいずこへ? | matarillo.com

    2018-01-19 10:24:18 原文 await 式を含むメソッドの前には、コンテキストキーワードである async を置く必要があるというデザインなのは、どういう理由があって決定したことなのか、何人かの人々が私に尋ねた。 どんなデザイン上の決定でも同じことだが、そこにはメリットとデメリットがあり、多くの異なる原則は競合するので共存できないという文脈で評価されなければならない。すべての基準を満たすとか、誰もを喜ばせるといったスラムダンク・ソリューションはなさそうだ。我々は、達成できる妥協点を常に探しているのであり、到達不能な完全性を求めているのではない。このデザイン決定はその良い例である。 我々の鍵となる主義の1つは、「可能な場合はいつでも、破壊的な変化を避けること」である。理想的には、C# 1、2、3、4で動作していたあらゆるプログラムがC# 5で同様に動作するならば、それは素晴

    flower_room
    flower_room 2013/10/21
    設計の背景を知るのは非常におもしろい。自分の考えが浅いことを思い知らされる。
  • Geekなぺーじ:UNIX哲学の基本原則

    「Basics of the Unix Philosophy」でUNIX哲学の基原則がまとめられています。 UNIXの設計思想として紹介されていますが、多くは普通のソフトウェアを設計する場合にもあてはまると思われます。 1. Rule of Modularity(モジュール性): きれいなインターフェースで接続された、簡潔な部品を書きましょう。 2. Rule of Clarity(明瞭さ): 明瞭さは賢さよりも良いです。 3. Rule of Composition(構成): 他のプログラムと接続できるようにプログラムを設計しましょう。 4. Rule of Separation(分離): ポリシーとメカニズムを分離しましょう。エンジンとインターフェースを分離しましょう。 5. Rule of Simplicity(単純性): 単純化された設計をしましょう。複雑さは必要な時だけ追加しま

  • 1