私はC#で書かれたWindowsフォームアプリケーションを持っています。 main_formクラスは、main_formは、次のコードこのアプリケーションは単に「それは速い動作させる」ためにPOCから行ってきましたC#OO Design Question
AccessProcessWorker.DoWork += new DoWorkEventHandler(processWorker.worker_DoWork);
AccessProcessWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(processWorkerCompleted);
AccessProcessWorker.ProgressChanged += new ProgressChangedEventHandler(processProgressChanged);
でプロセスを初期化し、BackgroundWorkerのを継承するクラスであるAccessProcessWorkerという名前AccessProcessをインスタンス化します。
私はAccessデータベースに対して動作するようにこのアプリを書いていますが、今はMS Sqlに反対したいが、アクセスに対しても対処するオプションは残しておきたい。ですから、私は、ユーザーが行ったいくつかのUI選択に基づいて、SqlProcessWorkerまたはAccessProcessWorkerをインスタンス化して初期化するような、醜いことをすることができます。しかし、私がしたいのは、main_formが常にIProcessのようなものを作成するようにすることです。新しいProcessWorkerがあるたびにmain_formにロジックを追加する必要はありませんでした。私のデザインの問題は、私が記述したように初期化が中断することです。
誰かがアイデアを持っている、またはさらなるclairificationが必要な場合は私に知らせてください。
この時点ではOPのために過労かもしれないと思います。 –
+1。私はそれが残念だとは思わない、確かにStructureMapでの私の経験は、このような単純なケースでもそれを使うことは価値がある(やり易い)ということです。 – Richard