[技術講座] 事例で学ぶデザインパターン 第 1 回 デザインパターンの概要と理解のポイント 第 2 回 Iterator パターンの適用例を見て学ぼう 第 3 回 Template Methodパターン 第 4 回 Factory Methodパターン 第 5 回 Observerパターン 第 6 回 Strategy パターンとデザインパターン活用の総まとめ © 2007 OGIS-RI Co., Ltd. HOME TOP
ポリモーフィズム(サブクラスによる切り替え、抽象化) ここに分類されるのは、オブジェクト指向の第3原則、ポリモーフィズムを使用したパターンです。ポリモーフィズムを使用すると、動的に使用するクラスを切り替えることができます。<参照> 他に分類されているものでも、ポリモーフィズムが重要な位置を占めているものもありますが、ここではそれしか使われていないものを扱います。 ただデザインパターン全体を通して強調されているのは、インターフェースでプログラミングするということです。実装への依存をなくし、そうすることによって設計の骨組みを明らかにするのです。 Template 次のようなメソッドがあった場合に、処理Bのところを条件によって変えたい場合があるとします。 class Hogehoge { void doit() { ... 処理A ... ... 処理B ... ... 処理C ... } }
デザインパターンとは、オブジェクト設計において、定石となる手法をパターン化したものです。 ここでは、有名な「GOFの23パターン」についてみていきます。 ちなみに、この23パターンは「オブジェクト指向における再利用のためのデザインパターン」という本の中で紹介されたもので、GOFとはこの本の著者である4人組(Erich Gamma、Ralph Johnson、Richard Helm、John Vlissides)を指しています。 生成に関するパターン ・Factory Method パターン 実際に生成するオブジェクトに依存しない、オブジェクト生成のインタフェースを提供します。 ・Abstract Factory パターン 互いに関連する一連のオブジェクト郡を、その具象クラスに依存しないで生成するためのインタフェースを提供します。 ・Builder パターン 複合化されたオブジェクトについ
ソフトウェア開発におけるデザインパターンまたは設計パターン(英: design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。パターン(pattern)とは、型紙(かたがみ)やひな形を意味する。 本稿でのデザインは狭義の設計という意味であり、CSSやHTMLなどで使われる意匠デザインの定形を示す「デザインパターン」とは異なる。 書籍『オブジェクト指向における再利用のためのデザインパターン』において、GoF (Gang of Four) と呼ばれる4人の共著者は、デザインパターンという用語を初めてソフトウェア開発に導入した。GoFは、エーリヒ・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシディースの4人である。彼らは、その書籍の中で23種類のパターンを取り上げた
アルゴリズム作成のガイドライン プログラミング言語に依存しないアルゴリズムを記述することで、 プログラムの本質的な処理手順を簡潔に表現できる。 プログラミングをより系統的なものにできる。 デバッグ作業や保守作業をより容易なものにできる。 といった利点を得ることができます。 そのため、プログラミングの際には、アルゴリズムを記述してからプログラムに変換する手順を 推奨します。 本ガイドラインでは、分かりやすく、保守しやすいアルゴリズムを系統的に記述 するための指針を示します。 ソフトウエアのモジュール設計やアルゴリズム構築を系統的に行なうための教育用ツールとして、 掛下研究室ではPerseusを開発しています。本ガイドラインに従ったアルゴリズム作成を系統的に 行なうために活用してください。 Perseusの概要 ダウンロード。※ lzh形式で圧縮されているので、必要に応じて解凍ソフト( eo
はじめに 1999年,こうしろうが小学校5年生のときに「ボク,ゲームのプログラムを作ってみたい」と言ったことがきっかけで「こうしろうのMindStorms日記」は始まりました。 レゴ・ブロックでガチャガチャとロボットを組み立て,わかりにくいプログラムをロボットの動きとして表現できるレゴ社のマインドストームは,遊びながら自発的にプログラミングを学習できる優れたツールです。しかし,MindStorms日記はどんどん脱線します。こうしろうの3才違いの弟かずがゲーム・プログラミングに挑戦したり,全然コンピュータとは関係のない回さえあります。ときには10才下の妹ほのちゃんも日記の中を遊びまわります。 この日記にメッセージがあるとすれば,与えられたゲーム機や誰かの作ったプログラムで遊ぶより,自分で作ったほうが面白いぞということでしょう。2006年現在,こうしろうは高3,かずは中3。いわゆる受験生ですが
トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター:最強最速アルゴリズマー養成講座(1/4 ページ) プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。 まだまだ活用可能な探索 前回の「知れば天国、知らねば地獄――『探索』虎の巻」で、「探索」という概念の基礎について紹介しました。すでに探索についてよく理解している方には物足りなかったかと思いますが、「問題をグラフとしてうまく表現し、そのグラフを効率よく探索する」というアルゴリズマー的な思考法がまだ身についていなかった方には、得るものもあったのではないでしょうか。 前回は、「幅優先探索」と「深さ優先探索」という、比較的単純なものを紹介しましたが
奈良先端科学技術大学院大学は1月30日、東京・三田のキャンパスイノベーションセンターで「ソースコードリーディングワークショップ2010」を開催した。バージョン1.0と2.0のソースコードを用意し、その差分(パッチ)を適用して問題がないか否かを参加者全員に判断してもらうハンズオンのほか、楽天の吉岡弘隆氏、電通国際情報サービスのひがやすを氏、日本IBMの細川宣啓氏らを招き、講演やパネルディスカッションを実施した。当日は定員の60人全員が参加し、スキルアップに対する強い意欲がうかがえた。 コードレビューのベンチマークを作成し、工数の見積もり精度を向上 今回のワークショップの目的は、「開発関係者同士で同じソースコードを読み、その感想を述べ合うことで交流の機会を作ること」(森崎氏)。当日は簡単な趣旨説明の後、2時間強に及ぶハンズオンが行われたが、その後の参加者同士によるグループディスカッションではど
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く