开发者

Applying Normalization techniques to Object Modeling

开发者 https://www.devze.com 2022-12-12 04:18 出处:网络
Over the years i have followed the techniques of DB normalization to atleast identify the relationships and entities of my object models , it always got me closer to a very reasonable design.

Over the years i have followed the techniques of DB normalization to atleast identify the relationships and entities of my object models , it always got me closer to a very reasonable design.

Recently i came across this res开发者_JS百科earch paper, which actually deals with the same

http://www.decodephp.com/oo-design-normlization.pdf

how do you all feel about this technique? do you find it useful? do u find any major problems with it?


This is garbage.

Object Oriented Design deals with the fact that normalizing state and "normalizing" behavior (via functional decomposition) produce incompatible and poorly aligned structures. Systems that do this separately have the problem that, although data normalization and functional decomposition do a nice job of minimizing complexity in their respective domains, a high degree of complexity is created between the state structures and behavioral structures when they need to interoperate within the same program.

In general, think of an optimally designed state space and an optimally designed behavioral space as existing on opposite poles of a sphere. The closer your system gets to reaching one pole, the farther it gets from the other. This is simply because behavior is often orthogonal to state.

The authors seem oblivious to this as evidenced by the fact that the operations in their class diagrams are exclusively getters and setters of state information, which is why the state optimization (data normalization) techniques fit so nicely.


that paper is quite funny. the authors' notion of relational is quite off, and the code they show is not object-oriented by any means: they just show a couple of structs glorified with getters and setters. again, that's not OOP.

buy C. J. Date's books for seriously in-depth, readable, well-argumented treatise of the relational data model, and... someone clue in with similarly respectable sources on OOP.

0

精彩评论

暂无评论...
验证码 换一张
取 消