Ryan Knowles wrote the first version of this website. Thanks, Ryan. |
Specfication of Software SystemsI took this class from Charlie Crowley at UNM. He spent a lot of time going through the patterns in the Gang of Four book, and occasionally going off in other directions synthesizing his own wide experience. I learned some very interesting general rules from Charlie. I like writing about things as I learn about them. I sent these notes out to a bunch of friends as I was taking the class, trying to both share my knowledge, and to implant it more firmly in my mind. 1. Introduction. Why do we need design patterns? 5. Factory 6. Bridge 7. Adapter 8. Template 9. Indirection, hooks, caching, and hinting. From Charlie Crowley's draft book. 10. Observer. Steve's comments about a related problem. 11. Model / View / Controller (From "A System of Patterns") 12. Flyweight Steve on implications of Unicode instead of ASCII on use of Flyweight 13. Interpreter 14. Singleton 15. Proxy 16. Iterator Asides. These are interesting points, but didn't relate to a specific design pattern. So, I put them in separate threads.
1. Operating systems take physical things and virtualizes them. I always have the last word. My rebuttal. 2. CRC cards. (Class, Responsibility, Collaborators) Steve: Paper? You're advocating using PAPER??? Steve: I should have added a :-) 3. Forces. "Forces shape the solution", Christopher Alexander. Steve: Are the forces in software as influential as those in architecture? Pat: Dunno, but here are some thoughts. 4. Return Values for setting functions. 5. Text editors, and interesting ideas on how to implement them. |