私が構築しているソフトウェアで次の側面を実現したいと考えています: 1. カスタマイズ可能なエンティティ モデル 2. カスタマイズ可能な UI 3. カスタマイズ可能なワークフロー
これを達成するためのアプローチについて考えました。これを確認して提案してください。
- エンティティ オブジェクトはプレーン オブジェクトである必要があり、データのみを保持します
- フレームワーク (NHibernate など) を使用して、エンティティ モデルと DB スキーマを分離します。これにより、エンティティ オブジェクトを簡単に変更できます。
- エンティティを取得/変更するビジネス ロジックは、ワークフローの一部として呼び出せるように、十分に細かくする必要があります。
- ビジネス オブジェクトは状態を保持してはならないため、静的メソッドのみが含まれます。
- ワークフローは、エンティティの「状態」に応じて、ビジネス オブジェクトのどのメソッドを呼び出すかを決定します。
- ワークフローは、処理の結果を取得してから、ビジネス オブジェクトを適切な UI 画面に渡す必要があります。
UI 画面には、特定のエンティティを表示する方法に関する指示が含まれている必要があります。おそらく、一連の UI 命令に基づいて UI を動的に生成する必要があります。(XULのように)
- このアプローチについてどう思いますか?
- これらのフレームワークのコーディングに時間を費やさないように、どの既存のフレームワーク (NHiberante、Window Workflow など) がこのモデルに適合するかを提案します。
- また、一連のUI命令(Mozilla XULなど)に基づいて動的なasp.net ajaxページを生成できるasp.netフレームワークがあることを示唆していますか?
私は最近 Apache Ofbiz を調べていて、アプリケーションのほとんどの領域 (UI、ワークフロー、エンティティ) をカスタマイズできることに感銘を受けました。C#/.Net で開発され、同様のレベルのカスタマイズを提供する同様の (必ずしも ERP システムではない) アプリケーションはありますか? UI、ワークフロー、およびエンティティ モデルに関して高度にカスタマイズ可能な C# で開発されたアプリケーションの例を探しています。