1

私はこれについて意見を聞くことに非常に熱心です。

Web アプリケーション用の拡張可能なアーキテクチャを構築しています。デフォルトの製品を構築するコアチームがあります。他の開発チームはデフォルトの製品を使用し、その機能をコード レベルでオーバーライド/置換/拡張したいと考えています。

これを実現するためにオーチャードのコアを使用することを検討しています。

もしそうなら、それはおそらく次のもので構成されます:

Orchard から CMS 関連のすべてを削除する Orchard のデータベースを削除する Orchard のコア DLL を使用または構築して、必要な拡張機能を作成する これに対する 1 つの代替手段は、通常の ASP.NET MVC 拡張機能です。

意見?

4

3 に答える 3

1

ITV でも同様のアプローチをとりました。新しいシステムに移行し、Orchard が持つ多くの機能が必要であると判断しましたが、すべてを必要とするわけではありません。つまり、CMS の部分です。

Orchard.Web をすべての「領域/モジュール」のホストとして採用しました。開発者はコンポーネントを疎結合することを考える必要があるため、これは非常に重要です。

次に、フレームワークを使用して、その特定の側面を取り除くことにしました。フレームワークでは、ロギング、キャッシング、および IDependency に関する DI を採用しました。一番大変だったのはAutofacです。私たちの実装は最善ではなく、バグがあると確信しているため、時間をかけてください。私たちはオーチャードの DI コードを大量に使用し、すべてのシェルを使わずにそれを改造しようとしました。

于 2012-01-18T11:42:18.310 に答える
0

別の、おそらくより実験的なアプローチは、Orchard Application Hostを使用することです。

このフレームワークを使用すると、任意のアプリケーション内で軽量の Orchard シェルを実行できます。したがって、基本的に、コンソール アプリ、クラウド ワーカー、または Orchard 以外の Web アプリなど、どこにでも Orchard コードを記述できます (ただし、後者は少し複雑です)。無意味)。

さらに、Orchard App Host はまさにあなたが達成したいことの例です。つまり、Orchard をそのコアまで取り除き、それを汎用アプリケーション フレームワークとして使用します。かなりクリーンな方法で (Orchard を変更せずに) 可能ですが、非常に複雑です。ユースケースをよく理解していないと、似たようなものを展開したいとは思えません。

基本的に、Orchard ソリューションからすべてのモジュールを削除できます。冒険心を持ってそこからビルドを開始する場合は、Core モジュールも削除できます。これがおそらく最も簡単です。ただし、当然のことながら、これは、ベア コア以外のものを使用しようとすると、Orchard に既にあるものを再実装する必要があることも意味します。

于 2014-10-01T21:56:39.907 に答える
0

Orchard は CMS と呼ばれていますが、それ以上のものであることは確かです。これは非常に汎用的で、CMS 以外の多くの機能をそのまま使用できます。たとえば、モジュールを使用して簡単に拡張できます。これは、フレームワーク アプリケーションの構築に最適です。さらに、Orchard は通常の ASP.NET MVC の使用を妨げません。Orchard で必要なものが見つからない場合は、通常のコントローラーを追加し、バニラ MVC でアプリケーションの一部を実装できます。最後に、フレームワーク自体は非常に拡張性が高く、通常、必要に応じてフレーム内のすべてのメカニズムをオーバーライドできます。

一方、オーチャードは最初は少し習得が難しいです。ドキュメントはそれほど多くなく、フレームワークには多くの「魔法」があります。特定の機能を実装する方法を理解するのが難しい場合があります。少なくともそれが私の印象です。ただし、コミュニティは非常に役に立ち、通常、助けてくれる人を見つけることができます。Orchard のコツをつかめば、それは素晴らしいフレームワークです。

したがって、あなたの場合は、試してみる価値があると思います。

于 2012-01-17T20:54:56.003 に答える