タグ付けされた質問 「design-patterns」

設計パターンは、ソフトウェア設計で一般的に発生する問題に対する一般的な再利用可能なソリューションです。デザインパターンの実装に問題がある場合の質問には、このタグを使用します。テキストパターンマッチングに関する質問には、このタグを使用しないでください。このタグを実装の重い質問に使用する場合-実装が記述されているコード言語にタグを付けます。

7
実用的なJavaScriptオブジェクト指向のデザインパターンの例
アプリケーションのJavaScriptでどのオブジェクト指向のデザインパターンを使用していますか。その理由は何ですか。 正式なデザインパターンが添付されていない場合でも、コードを投稿してください。 私はたくさんのJavaScriptを書いてきましたが、私がしていることに多くのオブジェクト指向パターンを適用しておらず、私は多くを見逃していると確信しています。

9
データベース接続のグローバルまたはシングルトン?
PHPのデータベース接続にグローバルではなくシングルトンを使用する利点は何ですか?グローバルの代わりにシングルトンを使用すると、コードが不必要に複雑になると思います。 グローバルなコード $conn = new PDO(...); function getSomething() { global $conn; . . . } シングルトンを使用したコード class DB_Instance { private static $db; public static function getDBO() { if (!self::$db) self::$db = new PDO(...); return self::$db; } } function getSomething() { $conn = DB_Instance::getDBO(); . . . } グローバルまたはシングルトン以外のデータベース接続を初期化するためのより良い方法がある場合は、それについて言及し、グローバルまたはシングルトンよりも優れている点を説明してください。

4
Node.jsアプリケーションの承認アプローチとデザインパターン[クローズ]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てるようにします。 2年前に閉鎖されました。 この質問を改善する 社内のエンタープライズソフトウェアプラットフォーム用に複数ページの管理インターフェイスを構築しています。さまざまなAPI、データベースクエリ、シェルスクリプトを結び付けるグルーロジックをたくさん考えてみてください。 認証には、node.js、Expressフレームワーク(jadeテンプレートを含む)、およびLDAPを使用します。 ノードアプリケーションでの承認のデザインパターンとベストプラクティスに関する情報を見つけるのに苦労しています。できれば、ユーザーがそのアプローチとそのケアと給餌に精通しているので、ロールベースのモデルを使用したいと思います。 私はnode.jsを初めて使用するので、モジュールや人気のあるブログ投稿をすでに見たことがあると思い込まないでください。情報が豊富で、どこを見ればいいのかわからない可能性があります。 あなたが提供することができるどんな情報にも前もって感謝します!


7
Laravelアプリの機能の有効化/無効化
Laravelアプリを作成しています。このアプリには、さまざまな機能があります。特定のドメインの要件に応じて、それらを有効または無効にできるようにしたいと思います。現在、私の設定には次のような一連のフラグがあります: 'is_feature_1_enabled' => true, 'is_feature_2_enabled' => false, ... 等々。 次に、コントローラーとビューで、これらの構成値をチェックして、何かを表示したり、特定のアクションを許可したりする必要があるかどうかを確認します。私のアプリは、あらゆる種類のチェックで汚染され始めています。 Laravelアプリの機能を管理するベストプラクティスの方法はありますか?

2
Java-ユニットテスト中にリソースファイルパスをテストファイルにスワップする方法
いくつかの設定を持つリソースファイルがあります。このファイルから設定をロードするResourceLoaderクラスがあります。このクラスは現在、熱心にインスタンス化されたシングルトンクラスです。このクラスがロードされるとすぐに、ファイル(別のクラスの定数フィールドとして保存されているファイルパス)から設定を読み取ります。これらの設定の一部は、単体テストには適していません。たとえば、このファイルにはスレッドのスリープ時間があり、これは製品コードでは数時間になる場合がありますが、単体テストでは数ミリ秒にしたいと考えています。そのため、値のセットが異なる別のテストリソースファイルがあります。私の質問は、単体テスト中にメインのリソースファイルをこのテストファイルと交換するにはどうすればよいですか?プロジェクトはMavenプロジェクトであり、テストフレームワークとしてtestngを使用しています。これらは私のアプローチの一部です @BeforeSuiteを使用してFilePath定数変数を変更し、テストファイルを指すようにし、@ AfterSuiteを使用して元のファイルを指すようにします。これは機能しているようですが、ResourceLoaderクラスは熱心にインスタンス化されているため、ResourceLoaderクラスがロードされる前に@BeforeSuiteメソッドが常に実行される保証はなく、ファイルパスが変更される前に古いプロパティがロードされる可能性があります。ほとんどのコンパイラーは、必要な場合にのみクラスをロードしますが、これがJava仕様の要件であるかどうかはわかりません。したがって、理論的には、これはすべてのJavaコンパイラで機能するとは限りません。 リソースファイルのパスをコマンドライン引数として渡します。pomのsurefire構成でコマンドライン引数としてテストリソースファイルパスを追加できます。これは少し過剰に見えます。 1.のアプローチを使用して、ResourceLoaderを遅延インスタンス化します。これにより、ResourceLoader.getInstance()。getProperty(..)への最初の呼び出しの前に@BeforeMethodが呼び出された場合、ResourceLoaderが正しいファイルをロードすることが保証されます。これは最初の2つのアプローチよりも優れているようですが、シングルトンクラスを遅延インスタンス化すると、列挙型などの単純なパターンを使用できないため、醜くなります(熱心なインスタンス化の場合のように)。 これは一般的なシナリオのようですが、最も一般的な方法は何ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.