User Tools

Site Tools


glossary:artificial_class
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


glossary:artificial_class [2013-08-11 13:21] (current) – created christian
Line 1: Line 1:
 +====== Artificial Class ======
 +===== Meaning 1 =====
  
 +==== Alternative Terms ====
 +/*i.e. alternative names meaning the same thing*/
 +
 +
 +==== Definition ====
 +An **artificial class** is a class solely created for technical reasons.
 +
 +==== Description ====
 +Artificial classes are not meaningful concepts outside the software.
 +
 +Note that it's not merely the identifier which makes a class artificial. A class ''DatabaseQuerySender'' is artificial. The name tells that this is an abstraction on code which sends queries to a database. The abstraction comes from the code, from the solution instead of the problem. Classes ''Query'', ''Database'' and also ''DatabaseConnection'' are natural classes. They are meaningful concepts outside the software. However, relabeling ''DatabaseQuerySender'' to ''Database'' does not make it a natural class if the abstraction it stands for is not changed accordingly. A solution which is [[principles:Model Principle|ML]]-compliant would rather distribute the functionality of the ''DatabaseQuerySender'' to the classes ''Database'', ''DatabaseConnection'' and ''Query''.
 +
 +==== Examples ====
 +''ActionListener'', ''ConnectionAdapter'', ''BeanFactory'', ''InvocationHandler'', ''ApplicationController'' ...
 +
 +==== Alternative Definitions ====
 +/*i.e. slightly different definitions for basically the same thing*/
 +
 +
 +==== See Also ====
 +  * [[Natural Class]]
 +  * [[Artificial Coupling]]
 +
 +==== Further Reading ====
 +
 +
 +----
 +===== Other Meanings =====
 +/*i.e. the same term referring to something different; put short mentions here or better add more detailed descriptions as additional sections */
 +
 +----
 +===== Discussion =====
 +
 +Discuss this wiki article and the term on the corresponding [[talk:glossary:Artificial Class|talk page]].
glossary/artificial_class.txt · Last modified: 2013-08-11 13:21 by christian