会計アプリケーションを構築するための方向性について意見を求めています。アプリケーションは高度なカスタマイズを可能にする必要があり、場合によってはプロセス全体を変更する必要があります。
顧客から特定の変更要求があった場合に、アプリケーション全体を再コンパイルせずに変更を加える方法が必要です。バックエンドは、ある種の SQL データベースになります。コスト上の理由から、SQL Server Express を使用する可能性が最も高いです。フロントエンドはC#になります。
エントリなど、さまざまな種類のアクションが行われたときにイベントを持つイベント ベースのシステムを考えています。次に、イベントを処理するプラグイン システムを作成します。データを最終的に保存する前に、複数のプロセスを特定の順序でデータに適用する必要がある場合があります。他のプロセスもトリガーする必要があります。
ほとんどの顧客で機能する基本アプリケーションを同じままにしておきたいのですが、他の特定の顧客が持っているカスタム プロセスを適切にロードする方法が必要です。
私はすべての提案を受け入れます。彼らが問題にアプローチするまったく異なる方法を考えていたとしても. 現在の社内開発の人材は、.NET と MS SQL Server です。私は、この状況に適合する可能性のあるソフトウェア パターンを認識していません。
追加情報: これは完全に白紙のシステムではありません。多くの顧客に役立つ機能があります。さまざまな理由から、要件は州に基づいて変化し、地域や町のレベルでもカスタマイズが必要になる場合があります。
事前にコンパイルされた追加のモジュールをプラグインできるようにしたいと考えています。考えられるオプションを調べ始めたとき、プラグインを介してコードを挿入できる空のハンドラーを想像していました。たとえば、総勘定元帳に新しいエントリが作成され、イベントが発生したとします。ハンドラーが呼び出されますが、ハンドラーのコードはプラグインから来ています。これは、顧客の 80% に適合する私のオリジナルのプロセスである可能性があります。顧客がカスタム操作を希望する場合は、元のプラグインを完全に置き換えるプラグインを追加するか、元の実行後に別のプラグインを介して追加の後処理ステップを追加することができます。私が推測する階層化プロセスの一種。