P-Patterns!
From Andrey
Revision as of 07:01, 7 February 2006 Andrey (Talk | contribs) Smart Button ← Previous diff |
Revision as of 07:01, 7 February 2006 Andrey (Talk | contribs) Smart Button Next diff → |
||
Line 19: | Line 19: | ||
Expose a generic object in the interface in order to simplify class use. | Expose a generic object in the interface in order to simplify class use. | ||
- | This is my case for exposing an object in interface. I know that there is some opposition for doing so, and even a law ([http://www.ccs.neu.edu/home/lieber/LoD.html Law_Of_Demeter Law of Demeter]). However, I dare to say that exposure of a generic, well-known object in interface provides for simpler, more intuitive designs that hiding everything under monolite interface with numerous methods. | + | This is my case for exposing an object in interface. I know that there is some opposition for doing so, and even a law ([http://www.ccs.neu.edu/home/lieber/LoD.html Law of Demeter]). However, I dare to say that exposure of a generic, well-known object in interface provides for simpler, more intuitive designs that hiding everything under monolite interface with numerous methods. |
== Postponed Validation == | == Postponed Validation == |
Revision as of 07:01, 7 February 2006
Some stuff that I came up with.
Contents |
Object Role
Object role vs. Object class
Golden Bridge
Utilizing the Bridge pattern in order to separate model from application-specific behaviors.
X class
Divide model classes into pure and application-specific classes, in the model, use only pure classes, but in application, instantiate only application-specific classes.
Smart Button
I bought a DVD player which was a black box with a tiny hole of a microphone. It did an amazing thing of being able to hear voice commands and execute them. For example, to open drive bay I would say 'Open drive'. To make a pause, I would say 'Do pause' and so on. I like it in the beginning but there was one thing. I had to always consult with a manual because I kept forgetting commands. For example, I would say 'Make pause' instead of 'Do pause', and it wouldn't do anything, because it wouldn't understand. Finally, I started missing my old DCD player. It had buttons as an interface. In order to turn it on, I didn't have to recall a command, but simply knew to press the Power button. In the end, I took the DVD player back to store and exchanged it to a conventional one. With a several buttons, I had complete control and no need to keep a page with commands printout in a condensed typeface, wrapped in a transluscent sleeve.
Expose a generic object in the interface in order to simplify class use.
This is my case for exposing an object in interface. I know that there is some opposition for doing so, and even a law (Law of Demeter). However, I dare to say that exposure of a generic, well-known object in interface provides for simpler, more intuitive designs that hiding everything under monolite interface with numerous methods.
Postponed Validation
Postponing validation until checkpoint/commit so that validations do not hinder performance.
Pascal example.