問題タブ [modularity]
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.
c++ - アプリケーション全体でインターフェースを再利用する
私は現在、アプリケーションの大きな部分をリファクタリングするのに忙しいです。主な目的は、異なるモジュール間の依存関係を可能な限り取り除くことです。私は今、次の問題に遭遇しました:
私のアプリケーションには、インターフェイス IDataProvider を定義した GUI モジュールがあります。インターフェイスはアプリケーションによって実装される必要があり、GUI モジュールに「データを提供する」ために使用されます。たとえば、データ グリッドにこの IDataProvider を指定し、それを使用して、データ グリッドに表示する必要があるすべてのインスタンスをループし、それらのデータを取得できます。
今度は別のモジュール (実際にはもっと多くのモジュール) があり、それらはすべて似たようなもの (レポート モジュール、データベース統合モジュール、数学ソルバー モジュールなど) を必要とします。現時点で、私にできることが 2 つあります。
- IDataProvider を GUI レイヤーからはるかに下位のレイヤーに移動し、他のすべてのモジュールでこの同じインターフェイスを再利用できます。
- これには、アプリケーションがすべてのモジュールを簡単に使用できるという利点があります (データ プロバイダーを 1 回実装するだけで済みます)。
- 欠点は、モジュールと中央の IDataProvider の間に依存関係を導入することです。誰かが 1 つのモジュールに必要な追加のメソッドで IDataProvider を拡張し始めると、他のモジュールも汚染し始めます。
- もう 1 つの方法は、すべてのモジュールに独自のデータ プロバイダーを提供し、すべてのモジュールを使用する必要がある場合は、アプリケーションにすべてのデータ プロバイダーを強制的に実装させることです。
- 利点は、モジュールが共通部分に依存していないことです
- 欠点は、IGridDataProvider、IReportDataProvider、IDatabaseDataProvider、ISolverDataProvider になってしまうことです。
使用するための最良のアプローチは何ですか? [ほとんどまたは完全に] 同じ種類のインターフェイスが必要な場合、すべてのモジュールを同じ共通インターフェイスに依存させることは許容されますか?
同じ IDataProvider インターフェイスを使用すると、将来厄介な問題が発生する可能性がありますか (現時点では認識していません)。
coldfusion - モジュラーColdfusionアプリ開発のための提案が必要
私は新しいアプリケーションを始めており、それをモジュール化することに集中したいと思っています。つまり、私の頭の中では、ログオン、ユーザーロール、レイアウトなどの基本的な機能を想定していますが、ドキュメントリポジトリやアップロードなどの機能の自己完結型の「チャンク」を追加できるようにしたいと考えています。 、日記とリマインダーサービス..何でも。
これまで私がアプリをレイアウトしてきた方法は、ルート内のすべて、画像とcfcの個別のサブフォルダー、変数名とクエリ名などの命名規則に準拠、cfcsを介したすべてのデータベースの相互作用、ページの上部ですべての処理を行うことです。 、次にコメント行、その下の表示/ページレイアウト。
私はさまざまなフレームワークに頭を悩ませようとしましたが失敗しましたが、私は決断力に麻痺し、それを「正しく」行っているかどうかについて混乱しています。公式の「フレームワーク」全体に踏み込むことなく、有用な方法論であることをある程度受け入れている作業方法はありますか?
c++ - モジュール性:インターフェースを使用するかどうか?
数年以来、常識は、実装に対してではなく、インターフェースに対してプログラムする方が良いと指示しているようです。高レベルのコードの場合、これは確かに論理的であるように見えます。たとえば、アプリケーションに複雑なソルバーがある場合は、次のようなものを使用する方がよいようです。
それよりも
最初のコードでは、ソルバーをモックして、単体テストを行うのも簡単です。
しかし、私の質問は、どのレベルでインターフェースを使用するのがもはや意味をなさないかということです。たとえば、アプリケーションにComplexNumberクラス(またはStringクラスなど)がある場合は、次のように記述します。
書くよりもはるかに複雑なようです(特にパフォーマンスに関して):
では、インターフェイスの背後に何かを配置する必要があるかどうか、およびインターフェイスの背後に配置するべきでない場合を決定する上で重要な要素はどれですか。
wpf - カタログ (prism) のすべてのモジュールを実行します
プリズムのデスクトップライブラリを使用しています。
私が望むのは、モジュールをディレクトリに取得してから実行することです。
私はそれが好きです:
モジュールがカタログにロードされていることを確認しました。モジュールの例:
しかし、それらを実行したい (Initialize() を起動) したいのですが、見つかりません。カタログ全体を実行したい。誰かがアイデアを持っていますか?catalog.Initialize()、catalog.Validate()、またはcatalog.Load()を試しました
jquery - jQuery Cycle pagerAnchorBuilder Wordpress モジュール化テーマ
Modularity Wordpress テーマには、jQuery Cycle を中心に構築された「ポスト スライダー」が含まれています。ページャーを使用して、スライダーの上に小さな数字を表示します。その番号を投稿のタイトルに変更できるようにしたいと思います。
テーマのコードは次のとおりです。
jQuery(関数() {
});';
私は jQuery コーダーではありません (おわかりかもしれませんが!)。コードを次のように簡単に調整するだけでうまくいくと思いました。
$doc_ready_script .= ' jQuery(関数() {
});';
ただし、「解析エラー: 構文エラー、予期しない '>'」というエラーが表示されるようになりました。
それで、私は本当にばかげたことをしたことに気づきました!
ある種のjQueryの第一人者が私を正しい方向に向けることができますか?
期待していただきありがとうございます!
asp.net-mvc - ASP.NET MVC の Wordpress ライクなプラグイン モデル
これは、この質問に基づいています。
私は現在、会社のイントラネットをゼロから再構築することを検討しています (正直に言うと、既存のイントラネットは完全に混乱しています)。コアに追加機能を提供するモジュール、またはコア内にしばらく新しいアプリケーションを作成するモジュールとして、アプリケーション全体 (おそらく 10 回中 9 回は MVC であり、もう 1 つは標準の Web フォーム) を構築します (たとえば、どのようにJoomla はそれを行います) コア アプリケーションにプラグインするだけで、完了したらそれらをディレクトリにドロップし、ある時点で管理インターフェイスからそれらを有効または無効にできます。
私はMEFを見て、現時点で頭を悩ませようとしていますが、MvcContrib Portable Areasも見ていて、それが私がやろうとしていることの実行可能な代替手段であるかどうか疑問に思っています.
これが私が望む場所に到達しようとするための最良の選択であったか、それともこの機能を提供する要素として MEF を使用しようとしているのが完全に間違っているのか疑問に思っていました。
MVCでやろうとしていることさえできますか?
git - Zend Framework モジュールごとに Git サブモジュールを分けますか?
再利用可能なモジュール (メーリング モジュール、cms モジュールなど) を使用して、多くの Zend Framework ベースのアプリケーションを開発しています。
各プロジェクトには独自の集中リポジトリがあり、いくつかの共通モジュールを使用します。いずれかのプロジェクトでモジュールを更新するたびに、他のプロジェクトでもモジュールを更新する必要がある可能性が非常に高くなります。
これらの再利用可能なモジュールを同期させる最良の方法はどれですか? Zend Framework プロジェクトごとに最大 10 個の git サブモジュールが必要ですか? あなたの練習は何ですか?プロジェクト外のモジュールごとに個別のレポ?
wpf - Prism と ASP.NET Web パーツは連携できますか?
私たちは、私の職場でモジュラー プログラミング ソリューションを選択しようとしています。現時点で選択できるのは、Prism または ASP.NET Web パーツです。
ボスの 1 人が、プリズム モジュールを ASP.NET Web パーツにラップして、どこでも使用できるようにすることはできないかと尋ねました (一種の「ケーキを持って食べてもいいですか」というような質問です)。
これが実行可能な解決策だとは思いませんが、実際にはわかりません。
Web パーツと Prism の両方について、これが機能するかどうかについて説明を危険にさらす可能性があることを知っている人はいますか?
python - モジュール性と再利用性のための開発: While True ループの処理方法は?
最近、近くの Bluetooth デバイスをスキャンするために pybluez モジュールをいじっています。ここでやりたいことは、近くの WiFi クライアント デバイスも検出するようにプログラムを拡張することです。
While True
WiFi クライアント スキャナーには、電波を継続的に監視するためのループが必要です。これをまっすぐな 1 つのファイル プログラムとして書くとしたら、それは簡単です。
しかし、私が望むのは、これをモジュールにすることです。後で再利用できるようにしたいし、できれば他の人にも使ってもらいたい。私が理解できないのは、ループを処理する方法です。
最初のサンプル コードが「mymodule」であると仮定すると、このプログラムは単純にデータを stdout に出力します。モジュールに出力させる代わりに、プログラムでこのデータを使用できるようにしたいと思います...
モジュールはどのようにコーディングすればよいですか?
c - D.Knuth 疑似乱数発生器の使用
物理シミュレーション ソフトウェアを作成する必要があり、D.Knuth によって作成された疑似乱数発生器を使用する必要があります。これは、私のニーズに最も適しているためです。
コードのハード ブロック (単なる #include "rng-double.c") 内で使用する方法は知っていますが、メインとブロックの両方で必要なモジュラー プログラムに含める方法がよくわかりません。いくつかのライブラリ内で、ヘッダー ファイルを介してメインにリンクします。
必要な関数は、ジェネレーターをシードするための ranf_start(seed) と、次の数値を生成するための ranf_arr_next() だけです。
私は長いシリーズを取得しています
乱数発生器のコードで定義されているほとんどすべての関数に対して。
私は専門家ではないので、ほとんど行き詰まっています。抜け道はありますか?まだ成功していませんが、現在 rng のヘッダー ファイルを書き込もうとしています。
どうもありがとう、みんな。~J
編集:最初の回答が言うことから、ヘッダーファイルを書く必要があります。ジェネレーターのほとんどの関数でそれを行いましたが、実際に数値を生成する関数に対して正しく書くことができません。このように定義された関数のヘッダーはどのように記述すればよいですか?