問題タブ [design-patterns]

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 投票する
7 に答える
240 参照

testing - 失敗を登録し続ける必要がありますか?

私は、自分が管理しているアプリの自動回帰テストスイートに取り組んでいます。自動回帰テストを開発しているときに、ほぼ間違いなくバグであるいくつかの動作に遭遇しました。したがって、今のところ、失敗を登録しないように自動回帰テストを変更しました。つまり、この悪い動作を意図的に回避できるようにしています。

なので、このサイトの他の人の意見に興味があります。明らかに、このエラー動作が修正されることを確認するために、バグ追跡にバグを追加します。しかし、回帰テストを変更して常に失敗を示すようにするか、回帰テストを中断したままにして、欠陥のある動作を修正できるようになるまで失敗しないようにする説得力のある理由はありますか?私はこれを他のタイプの質問の6分の1と考えていますが、他の人がそれを異なって見るかもしれないと思ったので、ここで尋ねます。


@ポール・トゥームリン、

明確にするために、私はテストを削除することを考えたことがありません。テストを実行するたびに失敗が発生することなく、失敗を許容するように合格/不合格条件を変更することを検討していました。

既知の原因による繰り返しの失敗が、最終的にC++で警告のように扱われることを少し心配しています。私は、C ++コードに警告が表示され、それらが単なる役に立たないノイズであると考えているために単に無視する開発者を知っています。回帰スイートに既知の障害を残すと、他の、おそらくより重要な障害を無視し始める可能性があります。

ところで、誤解されないように、C ++での警告は強力なコードを作成する上で重要な助けになると思いますが、出会った他のC ++開発者から判断すると、私は少数派だと思います。

0 投票する
5 に答える
8023 参照

c# - C# 3.0 では部分メソッドはどのように使用されますか?

最新のC# 言語仕様の部分メソッドについては読んだので原理は理解できましたが、実際にどのように使われているのか気になります。部分メソッドの恩恵を受ける特定の設計パターンはありますか?

0 投票する
0 に答える
124669 参照

python - Pythonとシングルトンパターン

重複の可能性:
Pythonでシングルトンを定義するためのシンプルでエレガントな方法はありますか?

Pythonでシングルトンパターンを実装するための最良の方法は何ですか?シングルトンパターンで通常行われているように、コンストラクターをプライベートまたは保護されていると宣言することは不可能のようです...

0 投票する
5 に答える
23280 参照

c# - C#でのダブルディスパッチ?

私はその用語を聞いたり読んだりしましたが、それが何を意味するのかよくわかりません。

このテクニックはいつ使用する必要があり、どのように使用しますか?誰かが良いコードサンプルを提供できますか?

0 投票する
3 に答える
134 参照

html - TextMate でマークアップするときに定期的に使用されるコード ブロックを追加する最良の方法は何ですか?

警告: 私はコーディングとTextMateに比較的慣れていないので、ここに欠けている明らかな答えがある場合はお詫びします。

私は多くの HTML/CSS マークアップを行っています。たとえば、フォームやナビゲーション メニューなど、よく使用する特定のパターンがあります。私が望むのは、それらのパターンを保存し、必要なときにすばやく挿入する方法です。

TextMate を使用してこれを行う方法はありますか?

0 投票する
6 に答える
5755 参照

design-patterns - データベースパターン

論文/本などを知っている人はいますか。データベースのそのドキュメントパターン?たとえば、一般的な経験則の1つは、すべてのテーブルに主キーが必要であり、そのキーには情報コンテンツが含まれていない必要があるというものです。では、リレーショナルデータベースを設計するためのデザインパターンに関する本を書いたり、論文を発表したりした人はいないでしょうか。


@ガイウス、

これは、データベース設計者が検討する必要のある質問です。データベース構造の安定性はどの程度でしょうか。十分に長い期間を考えると、安定したものはありません。または、逆に言えば、十分な期間が与えられている場合、すべてが変更される可能性があります。代理キー(理論上)は、そもそも意味がなかったため、その意味を変更してはなりません。

その特定の設計シナリオで考慮すべきもう1つのことは、主キーが表示されるのは誰ですか?主キーがエンドユーザーが実際に参照する必要があるものである場合、それを理解できるものにすることは理にかなっています。しかし、エンドユーザーが主キーを確認する必要がある多くのケースは考えられません。通常、主キーはDBエンジンが特定の操作を高速化できるようにするために存在します。

質問をする際の私の当初の考えは、うまくいけば、簡単に回避できるエラーを回避するために、私よりも経験豊富なデータベース設計者によって体系化されたデータベース設計の設計パターンを見つけることでした。誰かがデータベース設計のアンチパターンを成文化したことがあれば、読むのは興味深いでしょう。

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

c# - 動的言語でビジターパターンを実装するための好ましい方法は?

自分の練習問題として、サンプルプログラムをさまざまな言語に翻訳していました。C#から始めて、次のようなビジターパターンインターフェイスがありました。

ruby(またはpythonなど)に移行すると、型に基づいてコンパイラーからディスパッチを取得しなくなりました。訪問者自身で派遣する必要がありますか?

または、部屋のさまざまな専門分野で派遣を行う必要があります。

または、動的言語で使用される別の好ましいイディオムはありますか?

0 投票する
5 に答える
34982 参照

design-patterns - データ検証の設計パターン

データベース テーブルのコレクション (たとえば、Access ファイル内) があり、このコレクション内の各テーブルを、すべてのテーブルに共通のルールと、テーブルの 1 つまたはサブセットに固有の個別のルールの両方を持つルール セットに対して検証する必要がある場合テーブル、誰かが調べるのに良いデザインパターンを推奨できますか?

具体的には、次のようなコードは避けたいと思います。

また、log4net を使用してすべてのエラーと警告をログに記録することにしました。これにより、各メソッドを宣言でき、void何も返す必要がなくなります。ValidationExceptionこれは良い考えですか、それともすべての例外をキャッチList<ValidationException>し、最後にすべてを出力する前にそれらを保存するようなものを作成する方が良いでしょうか?

これはうまくいくように見えますが、実際に動作するコードサンプルをいくつか見つけたいと思っています。助言がありますか?過去に似たようなことをした人はいますか?

背景として、プログラムは C# または VB.NET のいずれかで記述され、テーブルは Access または SQL Server CE のいずれかに格納される可能性が高くなります。

0 投票する
22 に答える
51994 参照

design-patterns - 静的クラスの代わりにシングルトン パターンを使用する必要があるのはいつですか?

シングルトンと静的クラスのどちらを使用するかを決定する際の設計上の考慮事項を挙げてください。これを行うと、2 つを対比することを余儀なくされるので、思いつく対比は、思考プロセスを示すのにも役立ちます。また、すべてのインタビュアーは実例を見るのが好きです。:)

0 投票する
16 に答える
2757 参照

language-agnostic - ほとんどのシステム アーキテクトが、インターフェイスへの最初のプログラミングを主張するのはなぜですか?

私が読んだほとんどすべての Java 本では、オブジェクト間で状態と動作を共有する方法としてインターフェイスを使用することについて説明しています。

しかし、アーキテクトがアプリケーションを設計するのを見ると、彼らが最初に行うことは、インターフェイスのプログラミングを開始することです。どうして?そのインターフェース内で発生するオブジェクト間のすべての関係をどのように知ることができますか? これらの関係が既にわかっている場合は、抽象クラスを拡張してみませんか?