2009-07-24 26 views
5

私は現在、関数型プログラミングの概念を日々学んでおり、専門的に私はAsp.net開発者です。しかし、asp.netでは、コードの背後にあるオブジェクトのプロパティをあまりにも頻繁に変更することができます。機能プログラミングは、不変オブジェクトに基づいています。そして、このコンセプトを適用して、テキストボックスの価値を変えることは非常に苦痛になります。また、FormViewのItemInserted引数のようなハンドラは、開発者がtrue/falseに変更できるKeepInInsertModeのような開発者が利用できます。この場合、FPに対して入力引数を変更しています。 あなたの思考frnds。 ソフトウェア世界でUIを正しく処理する方法はどれですか? FPまたはOOPS。関数型プログラミングに基づくUI

答えて

2

あなたが「正しい」方法を尋ねるが、これは技術の問題ではなく、数学の問題です。トレードオフがありますが、何らかの形の味が出てきます.1つのサイズがすべて完璧なソリューションになるとは考えにくいです。

また、asp.netがある意味で何かをしているからといって、これはつまりすべて OOフレームワークが同じ設計上の決定を下したことを意味します。 Ruby on Rails、またはSmalltalk SeasideのWebフレームワークを別の、しかし依然としてOOの方法で見てみましょう。例えばASP.net MVCでも、バニラASP.netとは多少異なるアプローチをとっています。

UI処理のFPフレームワークについても同じことが言えますが、現在はもっと実験的なように見えます。つまり、すべてのデザインオプションがOOフレームワークのように検討されているとは思われません。あなたが見てしたい場合は、私は(主にインタラクティブなアニメーション用)functional reactive programmingに探してお勧めします、Links(アカデミックは - LINQと共通の側面を持っている)、またはLiveLab's reactive framework - 各問題の異なる側面を強調する。

ここで学ぶべきことはたくさんありますが、最も重要なことはおそらく簡単な答えがないことでしょう...

2
別の方法で考えることにつながる機能のパラダイムを使用して

:あなたは「このボタンをクリックしたときにどうなるか」疑問に思うことはありませんが、むしろ:ボタンのクリック後に自分のアプリケーションの新しい状態を何ですか。

「新しい状態は」いくつかのGUI作業を行うためにあなたのソフトウェアのプレゼンテーション層で使用されます。

これは、「状態 - >イベント - >状態」になりますおそらくはるかに予測可能なOOパラダイムを「聞かない、教えて」よりも機能。

しかし、それはまた、より精巧かもしれません。

関連する問題