User Tools

Site Tools


glossary:artificial_class

Differences

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

Link to this comparison view

glossary:artificial_class [2013-08-11 13:21] (current)
christian created
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