「メモ/デザインパターン」の編集履歴(バックアップ)一覧はこちら

メモ/デザインパターン」(2011/03/22 (火) 11:10:43) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#contents *デザインパターン Unfortunatery, many readers missed the connection between design patterns and refactoring. They thought of patterns as entirely related to design, not to code. I suppose that the name might have misled them, but the fact that the book was mostly C++ code should have indicated that patterns are about code as well as design, and adding a pattern usually requires changing code. [[Refactoring to Patterns>http://www.amazon.co.jp/Refactoring-Patterns-Addison-Wesley-Signature/dp/0321213351/]], p. xv >本書で扱うデザインパターンとは、”種々の状況における設計上の一般的な問題の解決に適用できるよう、オブジェクトやクラス間の通信を記述したもの”である。 [[オブジェクト指向における再利用のためのデザインパターン>http://www.amazon.co.jp/dp/4797311126/]], p.15 >デザインパターンは、一般的な設計構造のキーとなる側面に名前を付け、抽象化、識別化し、再利用可能なオブジェクト指向設計を生み出すのに有用となるようにしたものである。また、デザインパターンはそれにかかわっているクラスやインスタンス、それらの役割や協調関係、責任の分担を規定する。そして、それぞれのデザインパターンは、オブジェクト指向設計における特定の問題や課題に焦点を絞っている。すなわち、そのパターンはいつ適用すべきか、設計上のその他の制約を考慮したうえでも適用できるかどうか、そのパターンを使うことによる結果、さらには使う場合と使わない場合のトレードオフを記述しているのである。設計は最終的には実装しなければならないので、デザインパターンは実装方法を明確にするためにC++(いくつかはSmalltalk)のコードを例示している。 [[オブジェクト指向における再利用のためのデザインパターン>http://www.amazon.co.jp/dp/4797311126/]], p.15 >本書では、設計パターンのうち最もよく知られているデザインパターンの多くが、アレグザンダーが意図した意味においてのパターンではなく、負の可変性を伴う共通性-可変性配置の特殊なケースであることも紹介しよう [[マルチパラダイムデザイン]], p.4 *論文・記事 -[[Scalable System Design Patterns>http://www.infoq.com/news/2010/12/scalable-design-patterns]], InfoQ, 2010 -[[Swing to SWT and Back: Patterns for API Migration by Wrapping>http://gsd.uwaterloo.ca/publications]], ICSM 2010 -[[Inversion-of-Control Layer>http://hillside.net/europlop/submission/schedule.cgi]], EuroPLoP 2010 -[[Design Pattern Implementation in Object Teams>http://ctp.di.fct.unl.pt/~mpm/]], SAC 2010 -[[Deprecating the Observer Pattern>http://infoscience.epfl.ch/record/148043]], TR 2010 -[[Batching: A Design Pattern for Efficient and Flexible Client/Server Interaction>http://www.ime.usp.br/~kon/publications.html]], TPLoP -[[Design Pattern Density Defined>http://dirkriehle.com/publications/]], Onward! 2009 -[[An Exploratory Study of CaesarJ Based on Implementations of the Gang-of-Four patterns>http://ctp.di.fct.unl.pt/~mpm/]], TR 2008 -[[The Universal Design Pattern>http://steve-yegge.blogspot.com/2008/10/universal-design-pattern.html]] -[[Automated Verification of Design Patterns with LePUS3>http://www.eden-study.org/publications.html]], 2009 -[[An Exploratory Study of the Impact of Antipatterns on Software Changeability>http://www.yann-gael.gueheneuc.net/Work/Publications/Year/2009.php]], TR 2009 -[[Playing Roles in Design Patterns: An Empirical Descriptive and Analytic Study>http://www.yann-gael.gueheneuc.net/Work/Publications/Year/2009.php]], TR 2009 -[[An Approach for Structural Pattern Composition>http://ssel.vub.ac.be/sc2007/AcceptedPapers]], SC 2007 -[[An Empirical Study of the Relationships between Design Pattern Roles and Class Change Proneness>http://www.yann-gael.gueheneuc.net/Work/Publications/Year/2008.php]], ICSM 2008 -[[Activator>http://www.cs.wustl.edu/~schmidt/resume.html]], 2009 -[[Virtual Component: a Design Pattern for Memory-Constrained Embedded Applications>http://www.cs.wustl.edu/~schmidt/resume.html]], 2009 -[[Design Decision Topology Model for Pattern Relationship Analysis>http://patterns-wg.fuka.info.waseda.ac.jp/SPAQU/program.html]], SPAQu 2008 -[[An Extensible State Machine Pattern for Interactive Applications>http://www.cs.ucla.edu/~todd/research/ecoop08.html]], ECOOP 2008 -[[Metapatterns: Design Patterns Explained>http://www.moisesdaniel.com/wri/mdpe.html]] -Stefan Nägeli, [[Ownership in Design Patterns>http://sct.ethz.ch/projects/student_docs/Stefan_Naegeli/]], Master Thesis -Marc Bartsch, Rachel Harrison, [[Design Patterns with Aspects: A case study>http://hillside.net/europlop/home.html]], EuroPLoP 2007 -[[Use of design patterns in analogy-based design>http://home.cc.gatech.edu/dil/6]] **進化 -[[A Classification of Design Pattern Evolutions>http://www.jot.fm/issues/issue_2007_11/article3/index.html]], JOT 2007 **品質 -[[DEQUALITE: Building Design-based Software Quality Models>http://patterns-wg.fuka.info.waseda.ac.jp/SPAQU/program.html]], SPAQu 2008 **Visitorパターン -[[Modular Visitor Components: A Practical Solution to the Expression Families Problem>http://www.comlab.ox.ac.uk/publications/publication2847-abstract.html]], ECOOP 2009 -[[The Visitor Pattern as a Reusable, Generic, Type-Safe Component>http://www.comlab.oxford.ac.uk/people/publications/type/Bruno.Oliveira.html]], OOPSLA 2008 -[[Genericity, extensibility and type-safety in the Visitor pattern>http://www.comlab.oxford.ac.uk/people/publications/type/Bruno.Oliveira.html]], PhD Thesis, 2007 **Iteratorパターン -[[The Essence of The Iterator Pattern>http://www.comlab.oxford.ac.uk/people/publications/type/Bruno.Oliveira.html]], Journal of Functional Programming, 2008 **セキュリティ -[[Secure Design Patterns>http://www.sei.cmu.edu/publications/documents/09.reports/09tr010.html]], TR 2009 *リンク -[[Portland Pattern Repository>http://c2.com/cgi/wiki?PortlandPatternRepository]] *他のページ -[[メモ/ソフトウェアパターン]]
#contents *デザインパターン Unfortunatery, many readers missed the connection between design patterns and refactoring. They thought of patterns as entirely related to design, not to code. I suppose that the name might have misled them, but the fact that the book was mostly C++ code should have indicated that patterns are about code as well as design, and adding a pattern usually requires changing code. [[Refactoring to Patterns>http://www.amazon.co.jp/Refactoring-Patterns-Addison-Wesley-Signature/dp/0321213351/]], p. xv >本書で扱うデザインパターンとは、”種々の状況における設計上の一般的な問題の解決に適用できるよう、オブジェクトやクラス間の通信を記述したもの”である。 [[オブジェクト指向における再利用のためのデザインパターン>http://www.amazon.co.jp/dp/4797311126/]], p.15 >デザインパターンは、一般的な設計構造のキーとなる側面に名前を付け、抽象化、識別化し、再利用可能なオブジェクト指向設計を生み出すのに有用となるようにしたものである。また、デザインパターンはそれにかかわっているクラスやインスタンス、それらの役割や協調関係、責任の分担を規定する。そして、それぞれのデザインパターンは、オブジェクト指向設計における特定の問題や課題に焦点を絞っている。すなわち、そのパターンはいつ適用すべきか、設計上のその他の制約を考慮したうえでも適用できるかどうか、そのパターンを使うことによる結果、さらには使う場合と使わない場合のトレードオフを記述しているのである。設計は最終的には実装しなければならないので、デザインパターンは実装方法を明確にするためにC++(いくつかはSmalltalk)のコードを例示している。 [[オブジェクト指向における再利用のためのデザインパターン>http://www.amazon.co.jp/dp/4797311126/]], p.15 >本書では、設計パターンのうち最もよく知られているデザインパターンの多くが、アレグザンダーが意図した意味においてのパターンではなく、負の可変性を伴う共通性-可変性配置の特殊なケースであることも紹介しよう [[マルチパラダイムデザイン]], p.4 *論文・記事 -[[Design Patterns with AspectJ, generics, and reflective programming >http://przybylek.wzr.pl/publikacje.php]], ICSOFT '2010 -[[Scalable System Design Patterns>http://www.infoq.com/news/2010/12/scalable-design-patterns]], InfoQ, 2010 -[[Swing to SWT and Back: Patterns for API Migration by Wrapping>http://gsd.uwaterloo.ca/publications]], ICSM 2010 -[[Inversion-of-Control Layer>http://hillside.net/europlop/submission/schedule.cgi]], EuroPLoP 2010 -[[Design Pattern Implementation in Object Teams>http://ctp.di.fct.unl.pt/~mpm/]], SAC 2010 -[[Deprecating the Observer Pattern>http://infoscience.epfl.ch/record/148043]], TR 2010 -[[Batching: A Design Pattern for Efficient and Flexible Client/Server Interaction>http://www.ime.usp.br/~kon/publications.html]], TPLoP -[[Design Pattern Density Defined>http://dirkriehle.com/publications/]], Onward! 2009 -[[An Exploratory Study of CaesarJ Based on Implementations of the Gang-of-Four patterns>http://ctp.di.fct.unl.pt/~mpm/]], TR 2008 -[[The Universal Design Pattern>http://steve-yegge.blogspot.com/2008/10/universal-design-pattern.html]] -[[Automated Verification of Design Patterns with LePUS3>http://www.eden-study.org/publications.html]], 2009 -[[An Exploratory Study of the Impact of Antipatterns on Software Changeability>http://www.yann-gael.gueheneuc.net/Work/Publications/Year/2009.php]], TR 2009 -[[Playing Roles in Design Patterns: An Empirical Descriptive and Analytic Study>http://www.yann-gael.gueheneuc.net/Work/Publications/Year/2009.php]], TR 2009 -[[An Approach for Structural Pattern Composition>http://ssel.vub.ac.be/sc2007/AcceptedPapers]], SC 2007 -[[An Empirical Study of the Relationships between Design Pattern Roles and Class Change Proneness>http://www.yann-gael.gueheneuc.net/Work/Publications/Year/2008.php]], ICSM 2008 -[[Activator>http://www.cs.wustl.edu/~schmidt/resume.html]], 2009 -[[Virtual Component: a Design Pattern for Memory-Constrained Embedded Applications>http://www.cs.wustl.edu/~schmidt/resume.html]], 2009 -[[Design Decision Topology Model for Pattern Relationship Analysis>http://patterns-wg.fuka.info.waseda.ac.jp/SPAQU/program.html]], SPAQu 2008 -[[An Extensible State Machine Pattern for Interactive Applications>http://www.cs.ucla.edu/~todd/research/ecoop08.html]], ECOOP 2008 -[[Metapatterns: Design Patterns Explained>http://www.moisesdaniel.com/wri/mdpe.html]] -Stefan Nägeli, [[Ownership in Design Patterns>http://sct.ethz.ch/projects/student_docs/Stefan_Naegeli/]], Master Thesis -Marc Bartsch, Rachel Harrison, [[Design Patterns with Aspects: A case study>http://hillside.net/europlop/home.html]], EuroPLoP 2007 -[[Use of design patterns in analogy-based design>http://home.cc.gatech.edu/dil/6]] **進化 -[[A Classification of Design Pattern Evolutions>http://www.jot.fm/issues/issue_2007_11/article3/index.html]], JOT 2007 **品質 -[[DEQUALITE: Building Design-based Software Quality Models>http://patterns-wg.fuka.info.waseda.ac.jp/SPAQU/program.html]], SPAQu 2008 **Visitorパターン -[[Modular Visitor Components: A Practical Solution to the Expression Families Problem>http://www.comlab.ox.ac.uk/publications/publication2847-abstract.html]], ECOOP 2009 -[[The Visitor Pattern as a Reusable, Generic, Type-Safe Component>http://www.comlab.oxford.ac.uk/people/publications/type/Bruno.Oliveira.html]], OOPSLA 2008 -[[Genericity, extensibility and type-safety in the Visitor pattern>http://www.comlab.oxford.ac.uk/people/publications/type/Bruno.Oliveira.html]], PhD Thesis, 2007 **Iteratorパターン -[[The Essence of The Iterator Pattern>http://www.comlab.oxford.ac.uk/people/publications/type/Bruno.Oliveira.html]], Journal of Functional Programming, 2008 **セキュリティ -[[Secure Design Patterns>http://www.sei.cmu.edu/publications/documents/09.reports/09tr010.html]], TR 2009 *リンク -[[Portland Pattern Repository>http://c2.com/cgi/wiki?PortlandPatternRepository]] *他のページ -[[メモ/ソフトウェアパターン]]

表示オプション

横に並べて表示:
変化行の前後のみ表示: