私は複雑なシステムを設計しています。複雑なシステムを設計する2つの方法:トップダウンとボトムアップ
トップダウン: は、私は2つの方法があり、私は多くのインターフェイスとの契約を設計します。その後、これらのインターフェイスを実装し、デザインを検証するためのプロトタイプを作成します。
ボトムアップ:システムを動作させるためのコードを記述します。後は、ソリッドコードからインタフェースとコントラクトを抽出します。蒸留された界面と契約は私のデザインです。それはルール "を実行して、それを正しくします"です。
もっと良い方法はありますか?私の意見では、ボトムアップを選択します。トップダウンは非常に難しいので、誰も多くのインターフェースを高い抽象レベルで設計することはできません。少なくとも、私にとっては難しいです。最初のデザインを検証するためのソリッド・インプリメンテーションを書くと、最初から何度も再設計するような不合理なものがたくさんあります。ボトムアップを使用している間は、私はかなり安全だと感じていますが、少なくともそれは実行できます。