問題タブ [architecture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
13 に答える
1308 参照

sql - アプリケーション間での SQL ストアド プロシージャの再利用

多くのアプリケーションがアクセスするデータベースでストアド プロシージャを使用する人々のアプローチに興味があります。具体的には、アプリケーションごとに異なる一連のストアド プロシージャを維持する傾向がありますか、共有セットを使用しようとしますか、それとも混合しますか?

一方では、SP の再利用により、モデル変更などの場合に変更が少なくなり、理想的にはメンテナンスが少なくて済みます。一方、アプリケーションのニーズが異なる場合、1 つのアプリケーションのストアド プロシージャを変更すると、他のアプリケーションが壊れる可能性があります。私たちの環境では、各アプリケーションに独自の開発チームがあり、それらの間のコミュニケーションが不十分であることに注意してください。ただし、データ チームのコミュニケーションは良好で、主にストアド プロシージャの作成を担当しています。

ありがとう!

0 投票する
4 に答える
788 参照

java - アーキテクチャ レベルで例外をどのように計画する必要がありますか?

アーキテクチャの観点から例外をどのように使用するかを計画するための適切なリソースはありますか? (または、ここで直接提案を提供してください。) 私が取り組んだプロジェクトでは、いくつかの一般的な例外が何度も何度も使用され、意味を失う傾向があることがわかりました。から: http://jamesjava.blogspot.com/2007/10/exception-plan.html

0 投票する
2 に答える
199 参照

architecture - ORMを使用する場合、ロードされたエンティティを階層間で安全に送信する方法

システムにN層がある場合、およびORMを使用する場合、ロードされたエンティティを層間でどのように送信しますか?

DTOを使用していますか?

DTOが使用されず、エンティティが直接送信される場合、初期化されていない遅延ロードされた関係エラーからどのように保護しますか?

注:これは「N層を使用する必要がありますか?」ではありません。質問。システムにはすでにN層があると思います。

0 投票する
15 に答える
8084 参照

architecture - 短絡評価を使用する利点

ほとんどの言語では、はfalseであるためb評価されないため、trueにはなりません。私の質問は、アーキテクチャの観点から短絡が遅くなるのではないかということです。パイプラインでは、bを評価する必要があるかどうかを判断するために、aの結果を取得するのを待っている間、ストールしますか?代わりにネストされたifを実行する方が良いでしょうか?それも役に立ちますか?aa && b

また、誰もが一般的にどのような短絡評価と呼ばれるか知っていますか?この質問は、プログラミングの友人が短絡評価について聞いたことがなく、それは一般的ではなく、多くの言語で見られず、パイプラインでは非効率的であると述べた後に発生しました。最後のものはよくわかりませんので、よろしくお願いします!

さて、私はおそらく私の友人がどこから来ているのかを説明する別の例だと思います。彼は、次のようなステートメントを並行して評価して以来、次のように信じています。

システムがクラッシュします。短絡がない(したがって、上記のようなステートメントを許可しない)アーキテクチャでは、次のようなステートメントの処理が高速になります。

(a)並列に実行できなかった場合、(b)並列に実行できないためです。この場合、短絡を許可する言語は、短絡を許可しない言語よりも低速です。

それが本当かどうかはわかりません。

ありがとう

0 投票する
7 に答える
14020 参照

architecture - 関数型プログラミング アーキテクチャ

視覚化のための設計パターンとクラス図の使用を含むオブジェクト指向アーキテクチャに精通しており、コントラクトとプロトコル バインディングを備えたサービス指向アーキテクチャについても知っています。関数型プログラミング言語?

FPは中規模から大規模のプロジェクトに使用されていることを知っています。Paul Graham は Yahoo! の最初の化身を書きました。Common Lisp に保存します。一部の Lisp 開発システムは複雑です。関数型言語で書かれた人工知能と金融システムは、かなり大きくなる可能性があります。それらはすべて、少なくとも何らかの固有のアーキテクチャを持っていますが、何か共通点があるのでしょうか?

式の評価に基づくアーキテクチャはどのようなものですか? FP アーキテクチャはより構成可能ですか?

更新: Kyle は、 SICPがこのテーマの優れたリソースであることを思い出させてくれました。

更新 2:このテーマに関する良い投稿を見つけました: 関数型プログラミングはコードの構造にどのように影響しますか?

0 投票する
15 に答える
21462 参照

c++ - 関数呼び出しのコストはいくらですか?

に比べ

  • シンプルなメモリアクセス
  • ディスクアクセス
  • 別のコンピュータ (同じネットワーク上) でのメモリ アクセス
  • 別のコンピュータ (同じネットワーク上) でのディスク アクセス

Windows 上の C++ で。

0 投票する
4 に答える
638 参照

linq-to-sql - linq to sql を使用して適切に開発された Web サイト アーキテクチャはありますか?

linq to sql を使用した優れた Web サイト アーキテクチャを見つけた人はいますか? どんな助けでも非常に役に立ちます!

0 投票する
1 に答える
332 参照

design-patterns - 設計に関する考察 - コア制御ロジックとレンダリング レイヤー

私が現在行っているいくつかの作品のデザインについて、あなたの考えを教えていただけないでしょうか。

現在の状況は次のとおりです-基本的に:

  • アプリケーション用の一連のコントロールを開発しています。
  • これらの一部は、WinForms と ASP.NET Web アプリケーションの両方で使用できます。
  • 私は自分のコードのテストとテスト容易性を改善するために絶え間ない努力をしています。

だから、ここに私がしたことがあります:

  • UI の概念を持たないクラスでコア コントロール ロジックを作成しました。物事が変化したときにイベントを発生させるだけです。すべてのデータは、他のものと区別する必要があるカスタム型付きオブジェクトとして保存されます (たとえば、あるPagingControl場所SelectedPagePageNumberアイテムがあります)。
  • 次に、レンダリング「エンジン」のインターフェースとして機能する抽象クラスを作成しました。これにより、コア ロジックに使用される (場合によっては追加される) カスタム タイプがエンジンによって確実に処理されます。上記の例に続いて、抽象メソッドが含まれていますRenderSelectedPage
  • 次に、抽象レンダリング エンジンの具体的な実装を作成しました (例:ConsoleRenderingEngineなどHtmlRenderingEngine)。これにより、メソッドが処理され、必要に応じてそれぞれの UI/出力にレンダリングされました。

このアプローチには、次の長所と短所があります。

プロの

  • できます。新しいレンダリング メカニズムを実装するのは非常に簡単です。抽象エンジンをサブクラス化し、出力をレンダリングするだけです (必要な参照が渡されます)。
  • UI がコア コードから分離されているため、テストがはるかに簡単になります
  • 明らかに、コア/レンダリング ロジックがカプセル化されているため、問題が発生したときにどこに問題があるかが明確になります。

    短所

  • 紛らわしい/肥大化したように見える場合があります。各クラスには大量のコードはありませんが、1 つの出力 (1x コア、1x インターフェイス、1x レンダラー) にレンダリングするための 3x クラスがあります。ただし、WinForms/WebForms コントロールを作成する場合は、別のクラスも意味します (Controlと同様にサブクラス化する必要があるためAbstractRenderingEngine)。

... OK、それが私が本当に考えることができる唯一の「詐欺」であり、この質問の主な理由です ^_^

そう、

この「パターン」についてどう思いますか?どのように変更/改善しますか?


この質問は、より多くの考えが浮かぶと更新されるか、明確さが求められる場合があります (私はそれが重い読み物であることを知っています!)。


アップデート

答えてくれてありがとう、あなたがMVPと言ったのはおかしいです、私はこのようなものをどこかで見たと思っていましたが、それが何であったかを一生思い出せませんでした! 「MVP」を見た瞬間、「くそっ」と思いました。:D

返信ありがとうございます。MVP をもっと勉強して、自分が持っているものをさらに改善できるかどうかを確認します。

0 投票する
2 に答える
196 参照

.net - ドキュメント/ビューまたは複合アプリケーション アーキテクチャに適したリソースは何ですか?

最近は、比較的データ指向のアプリケーションに取り組んでいます。一般に、それらは奇妙な方法で関連付けられたクラスによって表されるデータのエディターである傾向があります。オブジェクトの種類ごとに forを使用して処理してきましUserControlた。選択が変更されると、プログラムはオブジェクトに適したエディターを表示します。

このために私が作った「フレームワーク」は、ぎこちなく、乱雑に感じます。一般的に、左側に「項目選択」コントロール、右側に「作業領域」がある 2 ペインのインターフェースを使用しています。UI は、項目の選択に応答して何UserControlを表示するかを決定し、元に戻すなどの動作を実装したり、項目の変更が面倒になる前にデータを保存するかどうかをユーザーに確認したりする作業のほとんどを実行する必要があります。この投稿のインスピレーションは、私が同僚と取り組んでいる「ビルド プロセスを簡単にする」アプリケーションです。 .

ドキュメント/ビュー アーキテクチャについては、C++ の本を少し読んだことである程度の知識がありました。.NET でこれに対応するより現代的なものは、複合 UI アプリケーション ブロックである可能性があることを理解しています。問題は、これらのトピックに関する簡単なウォークスルーやハウツーしか見たことがないことです。「こういうアプリをどう設計するか」という視点ではなく、「これをアプリに貼り付ければわかる!」という視点で。私は CAB のドキュメントを 1 時間か 2 時間かけて調べましたが、やや混乱しています。私は CAB が好きではありません。なぜなら、内部で物事がどのように機能するのかに興味があるからです。フレームワークの使用に飛び込む前に、同様のパターンの単純なバージョンを実装できれば、もっとありがたいと思います。

私が本当に必要だと思うのは、この問題に焦点を当てたウェブサイトまたは本です. 私が理解していないように見える大きな部分は、懸念を適切な場所に分離する方法です。データを操作するいくつかのメソッドを使用してデータ クラスを設計することに慣れていますが、それはおそらくコントローラー オブジェクトの仕事のように思えます。このテーマの紹介に役立つ情報源は何ですか? このような素晴らしい図を描いた記事をたくさん見て、これらのアーキテクチャがどのように機能するかについての概要を理解しました。低レベルの「実装方法」の部分を教えてくれる適切なソースを見つけたことはないと思います。

0 投票する
7 に答える
54710 参照

asp.net - ASP.NETMVCおよびWebサービス

ASP.NET MVCプロジェクトにWebサービスを追加すると、MVCの概念全体が壊れますか?

そのWebサービス(WCF)は、バックエンドと通信するためにMVCプロジェクトのモデルレイヤーに依存しています(したがって、MVCソリューションの一部である必要があるように見えます)。

これをコントローラーまたはモデルレイヤーに追加する必要がありますか?