Talk:Ken Auer 1995
Just some thoughts after reading the paper. I like the idea of the Define classes by behavior, not state pattern, since it encourages the use of derived values and also because the implementation is not considered here (unlike creating a public getter for every variable that is needed in some way externally). Of course, the Encapsulate concrete state pattern covers using private getters like we have discussed before. The Use lazy initialization pattern reminds me completely of the initialization part of the Singleton design pattern. I think it has its place and would work in most cases, but it really depends on the particular application and the particular variable (is it ok for an application to load for 5 seconds in the middle of execution while a variable is initialized?? I guess this side of things could be avoided by having an init function call the getter for the variable). Finally, I found the Defer identification of state variables pattern interesting also. If I've understood it correctly, then it basically means that in Java, the root of a class hierarchy (abstract) should always implement an explicit interface. That way, another class can implement the interface in a different way, without inheriting unneeded variables that are defined in the abstract class. --Kris 23:11, 11 August 2008 (UTC)