2017-11-27 8 views
1

それは私が把握しようとしているアーキテクチャの理論の問題です。私は私がしたいことを理論的に取り組んでいますデータに格納されているフローまたはロジックが良いか悪いのか?

ページ間の通常の流れのように動作します - 私のプロジェクトAに

は、いくつかのページを持って、各ページには、イベントが発生します(またはいくつかのイベント)このイベントは、いくつかの反応を引き起こす可能性があります非現実的なエンジンが BluePrintsを作成したり、仮想ライブラリもあるように私のプロジェクトで、それはこのようになりますので、 Blueprints.NET

と呼ばれるアイデアを使用して、ページ間のフロー・ロジックを作成します。 enter image description here

sendshowは論理エンティティへのエントリであり、onClick,onContinueなどは各フローエンティティボックスからの終了イベントです。私は、データテーブルのデータベース サンプル内のページ間の流れの接続を保存したい私のアーキテクチャでは

EntityID Event  NextEntityID EntryID Parameters 
======================================================= 
Intro  onClick  Login   Show  NULL 
Login  onContinue Autho   Send  {User,Pass} 
Login  onCancel Login   Show  NULL 

私は、私はロジックを格納から得ることができる欠点のいくつかを知っていますデータベース(紛失したデータや偽データなど)は不利に働きます。

同じことをするが、異なるフローを持つ何十ものプロジェクトがあることは重要です。そのため、各プロジェクトに論理ライブラリ(C#またはJavaまたは他の言語で)を作成するのではなく、私は同じ言葉でentity boxesしかし、毎回異なった流れで働くことができるフレームワークを作りたいと思います。各プロジェクトに論理ライブラリをコンパイルする必要はありません

メイン質問はここにありますか?それは悪い習慣だと思いますか?もしそうなら、なぜですか? - これは作業理論であることを覚えておいてください。

答えて

1

興味深いアプローチは、アプリケーションの再構築を避けることです。

私は興味深い質問があると思います:パラメータが許可されているとエンティティに渡すことができ

  • ?あなたはEntity-Interfaceの安定性をどのように確保しますか?
  • 複雑なデータ型を処理する可能性をどのようにして保証しますか?
  • エンティティと設定のさまざまなソフトウェアバージョンを扱うにはどうすればよいですか?
  • どのようなエラーが発生する可能性がありますか?それにどのように反応するのですか?
  • どのフローが許可されていますか? (エンティティ "カタログページ"が "イントロページ"と呼ぶことができますか?)

要約すると、アプリケーションは機能ロジックとフローロジックに分割されています。そして1つはコードにあり、もう1つはDBまたはファイルにあるので、最大の問題はメンテナンスだと思います。一方では、フロー設定が正しいことと、エンティティ間のインターフェイスに負傷を与えないことを確実にするために。また、実行時にしかエラーを検出できないという欠点があります。

しかし、それは仕事ができるかもしれない単純なアプリケーションのために:)

+0

興味深いアプローチを - 私たちは、クライアントが追加の流れを要求されたいくつかの時間に遭遇したり、フローと毎回私たちは、ロジックのコンパイルを交換しましたので、我々は単純なアプリケーションにもカントレイヤーを変更します。 あなたのポイントについて、私たちはこれらのポイントをすべて考慮し、それぞれのポイントに対してフェールセーフプロトコルを作成しました – Izikon

関連する問題