*OOP [#b5ed0974]

#contents

**オブジェクト指向とオブジェクト指向プログラミング [#cf427b76]
''Object Oriented and Object Oriented Programing''~
最近はオブジェクト指向プログラミングと言うプログラミング設計が流行っています。以下OOP


OOとはモノを重視した考え方。~
OOPとはそれをプログラミングに適用した設計です。

OO自体は多少の個人差はあっても覚えるのは難しくありません。~
しかしOOPは洗練されたセンスも必要なので一朝一夕で習得出来ません。~
オブジェクト指向は今や、プログラミング言語だけでなく、ソフトウェア開発の全てにおける総合技術となっています。~
でもベテランしか扱えない、と言う訳でも無いのでちゃっちゃと覚えちゃいましょう。~
よく、オブジェクト指向の説明の際に現実世界を全てオブジェクト指向で説明できる、という説明を見かけますが、これは全くの間違いなので注意しましょう。~
wikiなので興味のある方はどんどん訂正・追加をしちゃってください。~

**原則・法則 [#hb9b4b97]
これを抜きにしてOOは語れません。~
OOPの悪い設計はこれに反している
可能性が大なので知っておいた方が良いでしょう。~

-[[単一責任の原則>./単一責任の原則]]
-[[開放閉鎖原則>./開放閉鎖原則]]
-[[リスコフの置換原則>./リスコフの置換原則]]
-[[依存関係逆転の原則>./依存関係逆転の原則]]
-[[インターフェイス分離の原則>./インターフェイス分離の原則]]
-[[再利用・リリース等価の原則>./再利用・リリース等価の原則]]
-[[閉鎖性共通の原則>./閉鎖性共通の原則]]
-[[全再利用の原則>./全再利用の原則]]
-[[非循環依存関係の原則>./非循環依存関係の原則]]
-[[安定依存の原則>./安定依存の原則]]
-[[安定度・抽象度等価の原則>./安定度・抽象度等価の原則]]
-[[デメテルの法則>./デメテルの法則]]


**パターン [#i772cfb9]

***デザインパターン [#i0e98419]
GOF(Gang of Four)と言う偉い人達が纏めたOOPの良い設計です。~
実装レベルに近いので覚え易いのですが、
その反面適切な使い方が分からず濫用してしまいがちなので注意しましょう。~

詳しくは''[[デザインパターン]]''にて会いましょうノシ

**参考リンク [#ned0e46e]
:[[オブジェクト指向関係資料集:http://www2.ocn.ne.jp/~yamagu/object/]]|
『アジャイルソフトウェア開発の奥義(ISBN-13: 978-4797323368)』の著者:Robert C. Martin氏による「Open closed principle」の和訳。[[OCP>http://vipprog.net/wiki/OOP/%E9%96%8B%E6%94%BE%E9%96%89%E9%8E%96%E5%8E%9F%E5%89%87.html]]、[[LSP>http://vipprog.net/wiki/OOP/%E3%83%AA%E3%82%B9%E3%82%B3%E3%83%95%E3%81%AE%E7%BD%AE%E6%8F%9B%E5%8E%9F%E5%89%87.html]]、[[DIP>http://vipprog.net/wiki/OOP/%E4%BE%9D%E5%AD%98%E9%96%A2%E4%BF%82%E9%80%86%E8%BB%A2%E3%81%AE%E5%8E%9F%E5%89%87.html]]の各PDF Document。
:[[オージス総研 - オブジェクトの広場:http://www.ogis-ri.co.jp/otc/hiroba/index.html]]|
技術講座、OO入門 、技術書籍紹介 、メーリングリスト、ほか オブジェクト指向に関するドキュメントなど。
:[[オブジェクト倶楽部:http://www.objectclub.jp/]]|
オブジェクト指向を中心とする技術について実践、研究、発表するグループ
:[[OOPが理解できません:http://hccweb1.bai.ne.jp/tsune-1/oop.html]]|
このようなエラーが発生したら、上司に至急連絡を取り、障害を取り除かないといけません。

**参考文献 [#j13e2b89]

アジャイルソフトウェア開発の奥義