2

制作に「レスティア」を使ったことのある方・使っている方の意見が欲しいです。

いくつかの問題があります。セキュリティはデフォルトで無効になっています。すべてのデータは、サイトで許可されていないユーザーでも読み取ることができます。一部のデータを制限する予定がある場合でも (テーブルから 1 つの列を削除することはできません)、すべての列のみがクライアントに表示されます。

最後に、すべてのビジネス ロジックがブラウザの JavaScript に移行されましたが、これは良くありません。複雑な操作 (単一のトランザクションで行う必要があります) を実行する必要がある場合、それは不可能です。

私の意見では、'Restier' は非常に単純な RESTful プロジェクト (アドレス帳、todo リストなど) 向けに設計されています。複雑なデータ スキームを操作し、金銭トランザクションを操作する大規模な商用アプリケーションを開発する場合は、'Restier' を使用しないでください。プロジェクト。

どんな考えでも大歓迎です。

4

1 に答える 1

2

REST は、Web サービスのアーキテクチャ スタイルです。OData は、テクノロジーに依存しない優れた REST の実装を説明する標準です。RESTier は、OData V4 を実装するライブラリです。

ドメインの複雑さは、ドメインとアプリケーション層にある必要があります。RESTier を使用して、ドメイン機能を WebService として好きなように公開できます。エンティティを読み取り操作のみに公開し、ユース ケース (アプリケーション レイヤー) を OData アクションおよび関数として公開し、あらゆる種類のクライアント (iOS、Android、Asp.Net Mvc などの Web クライアント、 Wpf など) で使用できます。 JavaScript フロントエンドなど) 複雑なドメインをお持ちの場合は、ドメイン駆動設計を調査することをお勧めします。

さて、あなたの質問に...

セキュリティに関しては、Asp.Net のすべての利点を Restier に実装できます。

データ シェーピングに関しては、Web サービスを介してドメイン エンティティを直接公開することはありません。たとえば、 Customer (ビジネス ロジックを表すドメイン エンティティ) と CustomerDto (単純なデータ転送オブジェクト) の間で相互に変換するファクトリを実装することをお勧めします。これにより、必要な方法でデータを公開するように整形できます。

あなたが言及したように、フロントエンド(UIレイヤー)にビジネスロジックを持つことは、ドメインの複雑さが大きい場合、アンチパターン(スマートUIアンチパターン)と見なされます。(単純な CRUD アプリの場合は問題ありません)。Restier は、この方向にあなたをプッシュしません。それは、ソリューションをどのように設計するかの問題です。

これがお役に立てば幸いです。

于 2016-11-07T12:12:54.933 に答える