問題タブ [code-separation]
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.
user-interface - UI からビジネス ロジックを分離する方法
電卓アプリケーションを作成しています。ビジネス ロジックを UI から分離して、コードの保守性を改善し、単体テストを改善しようとしています。
ユーザーがアプリケーションのさまざまなボタンをクリックしたときに何が起こるかを管理する CalculatorUI クラスを作成しました。
また、計算を実行する Calculator クラスも作成し、ユーザーの要件に基づいて計算結果を検証します。CalculatorUI は、Calculator クラスのインスタンスを作成し、Calculator クラスの関数を呼び出して、ユーザーのクリックに応答します。私の質問は、Calculator クラスで、テキスト ボックスをクリアしてメッセージ ボックスを表示し、無効な結果をユーザーに認識させるコードをどのように記述すればよいかということです。
私はプログラミングを始めたばかりで、同僚の 1 人 (上級レベルのプログラマー) によると、UI をビジネス ロジックおよびデータベースから分離しておくのがベスト プラクティスです。
「txtDisplay」と「resultValue」が現在のコンテキストに存在しないというエラーが表示されます...また、ブール変数をどのように使用すればよいですか?
電卓クラスの私のコードは次のとおりです。
c# - ネストされた for ループから連続した print ステートメントを分離するにはどうすればよいですか?
指定された配列の連続するサブセットをすべて出力する次のメソッドがあります。for ループに織り込まれた醜い print ステートメントを新しい関数に分離できるようにしたいと考えています。これは実行可能ですか?
c - GLFW3 作成ウィンドウが null を返す
すべてのGLFW3初期化コードをメインから別のファイルに入れようとしていました。コードを実行すると、GLFW がウィンドウを作成できなかったため、glew init 関数で EXC_BAD_ACCESS が返されます。コード分離前はすべて問題ありませんでした。GLFWのセットアップコードを他の機能に持たせることは可能ですか?
私はCとopenGLを学び始めているので、どんな助けでも大歓迎です。
これはwindow_manager.hです
window_manager.c のコード
そしてmain.cで
c++ - プロジェクト内の列挙型クラスの反復
列挙型を反復処理するために、この質問に従っています。
問題は、私のプロジェクトには、個別にコンパイルされたファイルcpp
が多数あることです。hpp
コンパイラは の実装に直接アクセスする必要があるようですoperator++
。で宣言してからファイルでhpp
実装するとcpp
、エラーが発生します。
コンパイラの警告: インライン関数 'Color operator++(Color&)' が使用されていますが、定義されていません
リンカ エラー:「operator++(instruction_type&)」への未定義の参照
で直接定義するとhpp
、別のエラーが発生します
... の複数定義
、operator*
、begin
およびend
リンカー内。
visual-studio - Visual Studio/.NET プロジェクトでコードを共有するための適切なプロジェクト編成とアーキテクチャ
複数の Visual Studio プロジェクト間でコードを最適に共有する方法についての推奨事項を探しています。私は基本的なトピックに苦労しており、それを乗り越えるためのアイデアを得ようとしています.
私のソリューションは次のとおりです。
- いくつかの Web アプリ プロジェクト
- Windows サービスやコンソール アプリ、Azure Web ジョブなど、複数のスタンドアロン プロセス プロジェクト
すべてのプロジェクトに共通する機能の例としては、共通の Web サービスを呼び出す必要がある場合や、Amazon S3 から読み書きする必要がある場合などがあります。
私が苦労しているのはこれです。明らかに、共通の機能を実装するコードは、たとえば別のクラス ライブラリ プロジェクトで、独自に分割する必要があります。たとえば、S3 と対話するには、コードが Amazon 資格情報、S3 エンドポイントなどを認識する必要があります。通常、これらはすべてアプリ構成ファイルに保存されます。しかし、特定の実装をそれらにバインドするため、構成ファイルをクラス ライブラリ プロジェクトに配置するという考えは好きではありません。しかし、そうしないためには、呼び出し元のプロジェクトからこの情報を渡す必要があります。たとえば、Web アプリの web.config ファイルとコンソール アプリの app.config ファイルには、この接続情報が含まれています。S3 コードを呼び出すとき、この構成情報を共有コードに渡すと仮定します。
しかし、これは私には不自然に思えます*。その理由はわかりません。それが理にかなっていれば、S3コード(たとえば)を特定の構成メソッドに「バインド」しているように感じます。私の感覚が誤ったバイアスなのかどうかはわかりません。
*たとえば、渡さなければならない任意の量の構成データがあるとします。
- 接続文字列
- Web サービスの資格情報
- API エンドポイント
- アプリの構成設定からの任意のデータ (一部の呼び出し元は必要ですが、他の呼び出し元は必要ないため、多くの場合、データは役に立たないだけで、何かを渡す作業を行う必要があります)
そのため、メイン アプリに構成変数を追加するたびに、共通コードのコンストラクターを変更する必要がありました。物事は常に動いているでしょう。
これについて提案してもらえますか?