New Ways around Generation Gap Pattern

1,575 views

Published on

The Generation Gap Pattern (see also John Vlissides) is widely used to separate generated code from modifdied/extended code.
But the Generation Gap Pattern isn't always aplicable - from my experiences it fails if you generate code into areas with partly complex inheritance hierarchies like Persistence Layer with Entity, Embeddable, EJB3 etc.
Using a modern Generation Framework as oAW (openArchitectureWare) from Eclipse Modeling Tools Project you can implement a Veto Strategy in your workflow components to optimize file handling using Generation Gap Pattern.
In this presentation I introduce a VetoRedirectStrategy to find ways without applying the Generation Gap Pattern.
I tried to make a presentation partly in ZEN style and with easy-to-understand slides - so have fun.

HINT: YOU CAN WATCH THESE SLIDES AS A VIDEO+AUDIO:
http://vimeo.com/ekkescorner

Additional Informations:
http://ekkes-corner.org (blog in english)
http://ekkes-ecke.org (blog in german)
http://ekkes-corner-tv.org (video podcasts)
iTunes (search for "ekkes-corner")
@ekkescorner (twitter)

references:
(c) 1996 John Vlissides "Generation Gap Pattern"
http://www.research.ibm.com/designpatterns/pubs/gg.html
Article Heike Behrens "Generation Gap Pattern"
http://www.1160pm.net/2009/04/23/generation-gap-pattern/

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,575
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

New Ways around Generation Gap Pattern

  1. 1. ekke (ekkehard gentz), softwarearchitect (c) 2009 Eclipse Public License (EPL) Freitag, 8. Mai 2009
  2. 2. New Ways around Generation Gap Pattern: ekke (ekkehard gentz), softwarearchitect (c) 2009 Eclipse Public License (EPL) Freitag, 8. Mai 2009
  3. 3. New Ways around Generation Gap Pattern: Protected Regions ekke (ekkehard gentz), softwarearchitect (c) 2009 Eclipse Public License (EPL) Freitag, 8. Mai 2009
  4. 4. New Ways around Generation Gap Pattern: Protected Regions VetoRedirectStrategy ekke (ekkehard gentz), softwarearchitect (c) 2009 Eclipse Public License (EPL) Freitag, 8. Mai 2009
  5. 5. 1996 Freitag, 8. Mai 2009
  6. 6. John Vlissides Freitag, 8. Mai 2009
  7. 7. Generation Gap Pattern Freitag, 8. Mai 2009
  8. 8. Freitag, 8. Mai 2009
  9. 9. Freitag, 8. Mai 2009
  10. 10. 1996 2009 Freitag, 8. Mai 2009
  11. 11. Freitag, 8. Mai 2009
  12. 12. Freitag, 8. Mai 2009
  13. 13. Freitag, 8. Mai 2009
  14. 14. Freitag, 8. Mai 2009
  15. 15. Freitag, 8. Mai 2009
  16. 16. Freitag, 8. Mai 2009
  17. 17. Freitag, 8. Mai 2009
  18. 18. ? Freitag, 8. Mai 2009
  19. 19. Freitag, 8. Mai 2009
  20. 20. Freitag, 8. Mai 2009
  21. 21. Freitag, 8. Mai 2009
  22. 22. Freitag, 8. Mai 2009
  23. 23. Freitag, 8. Mai 2009
  24. 24. Freitag, 8. Mai 2009
  25. 25. /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  26. 26. /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  27. 27. /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  28. 28. /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  29. 29. ED L AB IS D /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  30. 30. ED L AB IS D /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ /* PROTECTED REGION ID(MY_UNIQU_ID) START */ // /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  31. 31. ED L AB IS D /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / now here‘s changed code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  32. 32. ED L AB IS D /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ /* PROTECTED REGION ID(MY_UNIQU_ID) ENABLED START */ / now here‘s changed code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  33. 33. ED L AB IS D /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / some default code / /* PROTECTED REGION END */ ED L AB EN /* PROTECTED REGION ID(MY_UNIQU_ID) ENABLED START */ / now here‘s changed code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  34. 34. ED L AB IS D ED L AB EN /* PROTECTED REGION ID(MY_UNIQU_ID) ENABLED START */ / now here‘s changed code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  35. 35. ED L AB IS D /* PROTECTED REGION ID(MY_UNIQU_ID) START */ / new generated default code / /* PROTECTED REGION END */ ED L AB EN /* PROTECTED REGION ID(MY_UNIQU_ID) ENABLED START */ / now here‘s changed code / /* PROTECTED REGION END */ Freitag, 8. Mai 2009
  36. 36. Freitag, 8. Mai 2009
  37. 37. Freitag, 8. Mai 2009
  38. 38. Freitag, 8. Mai 2009
  39. 39. Freitag, 8. Mai 2009
  40. 40. Freitag, 8. Mai 2009
  41. 41. Freitag, 8. Mai 2009
  42. 42. Freitag, 8. Mai 2009
  43. 43. Freitag, 8. Mai 2009
  44. 44. Freitag, 8. Mai 2009
  45. 45. Freitag, 8. Mai 2009
  46. 46. src-man M M M M M src-gen src-gen-pr veto Freitag, 8. Mai 2009
  47. 47. src-man M M M M M src-gen src-gen-pr veto Freitag, 8. Mai 2009
  48. 48. src-man M M M M M src-gen G G D D D D D src-gen-pr veto Freitag, 8. Mai 2009
  49. 49. src-man M M M M M src-gen G G D D D D D src-gen-pr veto Freitag, 8. Mai 2009
  50. 50. src-man M M M M M D D src-gen G G D D D src-gen-pr veto Freitag, 8. Mai 2009
  51. 51. src-man M M M M M E D src-gen G G D D D src-gen-pr veto Freitag, 8. Mai 2009
  52. 52. src-man M M M M M E E src-gen G G D D D src-gen-pr veto Freitag, 8. Mai 2009
  53. 53. src-man M M M M M src-gen G G D D D src-gen-pr E E veto Freitag, 8. Mai 2009
  54. 54. src-man M M M M M src-gen G G D D D src-gen-pr E E veto Freitag, 8. Mai 2009
  55. 55. src-man M M M M M src-gen G G D D D src-gen-pr E E veto Freitag, 8. Mai 2009
  56. 56. src-man M M M M M src-gen G G D D D src-gen-pr E E veto Freitag, 8. Mai 2009
  57. 57. src-man M M M M M src-gen G G D D D src-gen-pr E E veto Freitag, 8. Mai 2009
  58. 58. src-man M M M M M src-gen src-gen-pr E E G DD veto G D Freitag, 8. Mai 2009
  59. 59. src-man M M M M M src-gen src-gen-pr E E veto Freitag, 8. Mai 2009
  60. 60. src-man M M M M M src-gen src-gen-pr E E veto Freitag, 8. Mai 2009
  61. 61. src-man M M M M M src-gen src-gen-pr E E veto Freitag, 8. Mai 2009
  62. 62. src-man M M M M M src-gen src-gen-pr E E veto Freitag, 8. Mai 2009
  63. 63. src-man M M M M M src-gen G G src-gen-pr E E veto Freitag, 8. Mai 2009
  64. 64. src-man M M M M M src-gen G G D src-gen-pr E E veto Freitag, 8. Mai 2009
  65. 65. src-man M M M M M src-gen G G D E src-gen-pr E E veto Freitag, 8. Mai 2009
  66. 66. src-man M M M M M src-gen G G D E src-gen-pr E E veto Freitag, 8. Mai 2009
  67. 67. src-man M M M M M src-gen G G D E veto src-gen-pr E E veto Freitag, 8. Mai 2009
  68. 68. src-man M M M M M src-gen G G D src-gen-pr E E veto E Freitag, 8. Mai 2009
  69. 69. src-man M M M M M src-gen G G D D src-gen-pr E E veto E Freitag, 8. Mai 2009
  70. 70. src-man M M M M M src-gen G G D D E src-gen-pr E E veto E Freitag, 8. Mai 2009
  71. 71. src-man M M M M M src-gen G G D D E src-gen-pr E E veto E Freitag, 8. Mai 2009
  72. 72. src-man M M M M M src-gen G G D D E veto src-gen-pr E E veto E Freitag, 8. Mai 2009
  73. 73. src-man M M M M M src-gen G G D D src-gen-pr E E veto E E Freitag, 8. Mai 2009
  74. 74. src-man M M M M M src-gen G G D D src-gen-pr E E veto E E Freitag, 8. Mai 2009
  75. 75. src-man M M M M M src-gen G G D D D src-gen-pr E E veto E E Freitag, 8. Mai 2009
  76. 76. src-man M M M M M src-gen G G D D D src-gen-pr E E veto E E Freitag, 8. Mai 2009
  77. 77. src-man M M M M M src-gen G G D D D src-gen-pr E E veto E E Freitag, 8. Mai 2009
  78. 78. src-man M M M M M src-gen G G D D D src-gen-pr E E veto E E Freitag, 8. Mai 2009
  79. 79. src-man M M M M M src-gen G G D D D src-gen-pr E E = veto E E Freitag, 8. Mai 2009
  80. 80. src-man M M M M M src-gen G G D D D src-gen-pr E E x veto E E Freitag, 8. Mai 2009
  81. 81. src-man M M M M M src-gen G G D D D src-gen-pr E veto E E E Freitag, 8. Mai 2009
  82. 82. src-man M M M M M src-gen G G D D D src-gen-pr E E veto E E Freitag, 8. Mai 2009
  83. 83. src-man M M M M M src-gen G G D D D src-gen-pr E E veto E E Freitag, 8. Mai 2009
  84. 84. src-man M M M M M src-gen G G D D D src-gen-pr E E veto Freitag, 8. Mai 2009
  85. 85. summary Freitag, 8. Mai 2009
  86. 86. Freitag, 8. Mai 2009
  87. 87. Freitag, 8. Mai 2009
  88. 88. Freitag, 8. Mai 2009
  89. 89. Freitag, 8. Mai 2009
  90. 90. ekke (ekkehard gentz) softwarearchitect (c) 2009 Eclipse Public License (EPL) (c) 2009 iStockphoto.com (some photos) Freitag, 8. Mai 2009
  91. 91. @ekkescorner ekke (ekkehard gentz) softwarearchitect (c) 2009 Eclipse Public License (EPL) (c) 2009 iStockphoto.com (some photos) Freitag, 8. Mai 2009
  92. 92. @ekkescorner ekke (ekkehard gentz) softwarearchitect ekkes-corner.org (c) 2009 Eclipse Public License (EPL) (c) 2009 iStockphoto.com (some photos) Freitag, 8. Mai 2009
  93. 93. this presentation is ZEN style designed in http://www.presentationzen.com/ you can hear and watch at: http://vimeo.com/ekkescorner (video) iTunes: search „ekkes-corner“ (iPhone) http://ekkes-corner-tv.org (QuickTime) ekke (ekkehard gentz), softwarearchitect (c) 2009 Eclipse Public License (EPL) Freitag, 8. Mai 2009

×