3
C#/ OOPでは貧弱なドメインモデルが悪いと考えられますが、F#/ FPでは非常に重要なのはなぜですか?
でブログの記事楽しさと利益のためにF#上、それは言います: 機能設計では、動作をデータから分離することが非常に重要です。データ型は単純で「ダム」です。そして、別に、これらのデータ型に作用する多くの関数があります。 これは、動作とデータを組み合わせることを意図したオブジェクト指向設計の正反対です。結局のところ、それはまさにクラスです。実際にオブジェクト指向の設計では、振る舞い以外は何もありません。データはプライベートであり、メソッドを介してのみアクセスできます。 実際、OODでは、データ型の周囲に十分な動作がないことは悪いことと見なされ、「貧血領域モデル」という名前さえあります。 C#では、F#から借用し続け、より機能的なスタイルのコードを記述しようとしているようです。なぜデータ/動作を分離するという考えを借りず、それを悪いと考えるのでしょうか?定義がOOPを伴わないというだけなのでしょうか、それともC#で悪いのに何らかの理由でF#に適用されない(そして実際には逆になる)具体的な理由がありますか? (注:私は、ブログ投稿のどちらかの意見に同意しない個人ではなく、善/悪の意見を変える可能性のあるC#/ F#の違いに特に興味があります)。