Construction idioms: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
{|class="wikitable" | {|class="wikitable" | ||
| [https://svn.jj5.net/jjrepo/exp/2017-11-23-000609/take-0.cs Take Zero] | | [https://svn.jj5.net/jjrepo/exp/2017-11-23-000609/take-0.cs Take Zero] | ||
| concrete | | concrete implementation | ||
|- | |- | ||
| [https://svn.jj5.net/jjrepo/exp/2017-11-23-000609/take-1.cs Take One] | | [https://svn.jj5.net/jjrepo/exp/2017-11-23-000609/take-1.cs Take One] | ||
| interface | | introduce interface | ||
|- | |- | ||
| [https://svn.jj5.net/jjrepo/exp/2017-11-23-000609/take-2.cs Take Two] | | [https://svn.jj5.net/jjrepo/exp/2017-11-23-000609/take-2.cs Take Two] | ||
| extensible framework | | extensible framework | ||
|} | |} |
Revision as of 22:03, 24 November 2017
So here's three complete programs which demonstrate how I would go about evolving some code including a main component called MyThing. The initial implementation would be very direct and very concrete, the next implementation would factor out an interface, and the final implementation would implement MyThing in a full-blown extensible framework.
Take Zero | concrete implementation |
Take One | introduce interface |
Take Two | extensible framework |