Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
発行/購読パターンとはなんぞや。 発行/購読パターン(パブリッシュ/サブスクライブ)とは、発行側(パブリッシャー)と購読側(サブスクライバー)という二つの実体の間に、チャンネル(トピック)と呼ばれる中継層を設け、メッセージ交換はチャンネルを介して行うパターンです。パブサブ(Pubsub)とも呼ばれます。 パブリッシャーは、特定のチャンネルにメッセージを公開(パブリッシュ)し、サブスクライバーは購読(サブスクライブ)しているチャンネルの新規メッセージ公開時にその通知を受け取ります。 発行/購読パターンを用いれば、各実体(メソッドなりオブジェクトなり)を分離し部品化することができます。これによりアーキテクチャが疎結合になり、拡張性・再利用性を高めます。 論よりコード まずは発行/購読パターンを使わない場合の例を書いてみます。 ユーザーがアクセスすると、サーバーからAjaxでユーザー情報を取得し
今日はPHP界隈で大人気のDependency Injectionと、それに関連する用語について整理しておこうと思います。 以下のような状況があるのではないか?と思ったからです。 多くのPHPユーザがDependency Injection(DI)をよくわかっていない、あるいは正確に説明できません。 そして、デザインパターンである「DIパターン」とDIをサポートするツールである「DIコンテナ」を混同しています。 また、「DIパターン」と「サービスロケータパターン」をうまく区別できていません。 Dependency Injectionとは何か? Dependency Injectionとは「Dependency」を「Injection」するというデザインパターンです。 日本語では何故か「依存性の注入」と訳されており、これが混乱の元ではないかと思います。 日本語で「依存性」と言うと、「依存性は
こちらの書籍でデザインパターンを勉強中。 実践 Python 3 作者:Mark SummerfieldオライリージャパンAmazon また、Java ですが家にこの本もあったので並行して読み進めていきます。 増補改訂版Java言語で学ぶデザインパターン入門 作者:結城 浩ソフトバンククリエイティブAmazon デザインパターン一覧 リンクになっているものは勉強済。 生成に関するデザインパターン Abstract Factory Builder Factory Method Prototype Singleton 構造に関するデザインパターン Adapter Bridge Composite Decorator Facade Flyweight Proxy ふるまいに関するデザインパターン Chain of Responsibility Command Interpreter Iterat
Problemこのクラスは大きすぎて、もうこれ以上大きくしたくありません。「単一責務の原則」を適用してクラスを分割しようと思います。分割の具体的な方法がわかりません。Strategy「クラスの抽出」を適用します。どんなとき?「単一責務の原則」を適用してクラスを分割しようと思います。責務を把握したので、分割の実装を行いますが、具体的な方法がわかりません。どうする?「クラスの抽出」リファクタリングを適用します。ほとんどのレガシーシステムにおいて、最初にできることは、「実装レベル」で単一責務の原則を適用することです。つまり、大きなクラスから「クラスの抽出」をして、抽出クラスに委譲することです。「インタフェースレベル」で単一責務の原則を導入するには、より多くの作業が必要です。クラスの呼び出し側を変更しなければならず、テストも必要になります。まず、実装レベルで単一責務の原則を導入しておくと、将来イン
普段Javascriptをよく書いているのですが、設計が今の自分の弱点だなぁと思い、 積読になっていた JavaScriptデザインパターン – オライリー・ジャパン を引っ張りだして勉強したことを紹介していきます。 内容に関して何か間違いや問題があったらご指摘ください。 デザインパターンとは デザインパターン – wikipedia “ソフトウェア開発におけるデザインパターン(型紙(かたがみ)または設計パターン、英: design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。” デザインパターンというのは、テンプレートの様なものと考えるとわかりやすいかもしれませんね。 また、Javascriptデザインパターンでは次のように提唱されています。 パターンは実績のある解決策で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く