2011-08-16 19 views
3

私はシャープアーキテクチャーの代わりに、まずEntity FrameworkコードをORMとして使用しています。シャープアーキテクチャーのような成熟したプロジェクトが最初にEFコードを持っていますか?シャープアーキテクチャー代替品

+1

データベース設計からCRUD操作や基本的なUIを生成し、私はEffinatorと呼ばれるコードジェネレータを作成しhttp://ayende.com/blog/4786/the-wages-of-sin実際のアーキテクチャ上のアーキテクチャ – jason

+0

http://codecampserver.codeplex.com/ではEFは使用されませんが、Infrastructure.NHibernateを置き換えることで可能です。 –

答えて

9

アーキテクチャは青写真です。シャープアーキテクチャーが見えると、それについて簡単に考えることができ、EFで動作するように変更することができます。あなたがそれを行うことができない場合は、おそらく必要なAPIを持つ十分なスキルを持っていない - それはアーキテクチャを扱う前に最初にあなたが変更する必要があります。アーキテクチャーはAPIの理解を妨げるものではなく、APIの機能を使用して適切なアーキテクチャーを正しく実行することはできません。

アーキテクチャーは、アプリケーションのニーズによって駆動される必要があります。いくつかのアーキテクチャの青写真を満たすためにアプリケーションのニーズを曲げたいというアプローチは間違っています。最初に、あなたのアーキテクチャがあなたのために解決すべきものを定義しなければなりません。そして、その後、すでに何らかの青写真があるかどうかを尋ねることができます。

ほとんどの記事やサンプルアーキテクチャでは、実際のニーズがなくても多くのパターンをプッシュしています。パターンとレイヤーの数が適切なアーキテクチャを作っていない。ほとんどの場合、システムを過度に構成して維持するのが難しくなります。これらのサンプルは、ほとんどの場合、いくつかのパターンを実装する方法を説明するためのものです。

0

悪い知らせ正確な交換はありません。良いニュースは私のようにあなた自身のものを簡単に作成することができます。

私は長い間S#arpを使用していましたが、それは良いアーキテクチャですが、私はそれを使って多くのアプリケーションを開発しましたが、その去年の終わりにはオープンソースプロジェクトの動きがなくなったようです同様の原則を使用してEntity Frameworkを使用して同様のものを作り直してください。

NHibernate、NHibernate.Validator、Castle Windsorなどの主要コンポーネントがEntity Framework、LINQ to Entites、System.ComponentModel.DataAnnotations、Autofacを使用するように置き換えられました。ドメイン、プレゼンテーション、タスク、フレームワーク、インフラストラクチャのように、レイヤーは変わりません。

私がどのように作成したかについては、この記事を詳細な説明で見てください。 http://www.macaalay.com/2015/10/20/creating-a-solid-architectural-foundation-from-scratch-is-not-really-that-hard/

私も