... |
... |
@@ -1,30 +1,33 @@ |
1 |
1 |
(% class="box infomessage" %) |
2 |
2 |
((( |
3 |
3 |
(% style="text-align: justify;" %) |
4 |
|
-The explanations given here do not claim to be complete. They merely serve as a brief description to give an idea of the respective term. For more detailed information, the Internet should be consulted. Note that some of these technical terms are fuzzy, overlap with other terms, or have different meanings depending on the context or the people using them. This Glossary is an attempt to structure these terms in a concise manner. Be open to variations as you talk and work with other developers. |
|
4 |
+The explanations given here do not claim to be complete. They merely serve as a brief description to give an idea of the respective term. For more detailed information, the Internet should be consulted. |
|
5 |
+ |
|
6 |
+(% style="text-align: justify;" %) |
|
7 |
+Note that some of these technical terms are fuzzy, overlap with other terms, or have different meanings depending on the context or the people using them. This Glossary is an attempt to structure these terms in a concise manner. Be open to variations as you talk and work with other developers. |
5 |
5 |
))) |
6 |
6 |
|
7 |
7 |
|
8 |
8 |
|**Term**|(% style="text-align:justify" %)**Explanation** |
9 |
9 |
|Abstraction|(% style="text-align:justify" %)((( |
10 |
|
-1. The opposite of "Concretion". It refers to interfaces and abstract classes that define behavior, namely function signatures, but contain no information about the internal operation of the functions. |
11 |
|
-1. A generic, high-level unit. For example, a class may have two functions that contain duplicate code, which the DRY principle says should not happen. The duplication can be resolved by moving the duplicate code to a common function (the "abstraction" of that code) and calling the function where the code was previously located. The duplicated code has been "abstracted". |
|
13 |
+1. The counterpart of "Concretion". It refers to interfaces and abstract classes that define behavior, namely function signatures, but do not contain information about internal operation. |
|
14 |
+1. A generic, high-level unit. For example, a class contains two functions that contain duplicate code, which should not happen according to the DRY principle. The duplication can be resolved by moving the duplicate code to a common function (the "Abstraction" of that code) and calling the function where the code was previously located. The duplicate code was "abstracted". |
12 |
12 |
))) |
13 |
|
-|Assertion|(% style="text-align:justify" %)Refers to an assertion function which is an essential part of test code. If the input values do not satisfy a particular condition, the test containing the assertion will fail. Example call: "assertEquals(expectedResult, actualResult)". |
14 |
|
-|Aware/Unaware|(% style="text-align:justify" %)Class A contains a source code reference to class B and is therefore aware of class B. If you only read the source code of class A, you would know that there must be a class B. If there was no such reference, class A would be unaware of class B. |
15 |
|
-|Best Practices|(% style="text-align:justify" %)Generally accepted guidelines for increasing your programming productivity. Taking them seriously will save you a lot of pain. |
|
16 |
+|Assertion|(% style="text-align:justify" %)An assertion function is used in "Test Code". When an unexpected input values are provided, it causes the test containing it to fail. Example call: "assertEquals(expectedResult, actualResult)". |
|
17 |
+|Aware/Unaware|(% style="text-align:justify" %)The class A contains a source code reference of the class B and therefore is aware of the class B. If you were to read only the source code of class A, you would know that there must be a class B. If there was no such reference, class A would be unaware of class B. |
|
18 |
+|Best Practices|(% style="text-align:justify" %)Generally accepted guidelines aimed at increasing your programming productivity. If you take them seriously, you will save yourself a lot of pain. |
16 |
16 |
|Concretion|(% style="text-align:justify" %)((( |
17 |
|
-It is the counterpart of "abstraction" and is sometimes called "implementation". In OOP it refers to classes that implement methods of interfaces or abstract classes. A concretion defines the internal workings of these abstract functions by providing the "concrete" code. |
|
20 |
+It is the counterpart of "abstraction" and is sometimes called "implementation". It refers to classes that implement interfaces or inherit from abstract classes. It defines the internal workings of the functions it must provide by containing the "concrete" code. |
18 |
18 |
))) |
19 |
|
-|[[Constructor Injection>>doc:Software Architecture.Dependency Injection.Types of Dependency Injection.WebHome]]|(% style="text-align:justify" %)Dependency Injection performed by passing a dependency to an instance via constructor argument. |
|
22 |
+|[[Constructor Injection>>doc:Software Engineering.Dependency Injection.Types of Dependency Injection.WebHome]]|(% style="text-align:justify" %)Dependency Injection performed by passing a dependency to an instance via constructor argument. |
20 |
20 |
|Component|((( |
21 |
|
-1. In Spring, it is a generic annotation for a bean that no other Spring Bean Annotation matches: "@Component". |
22 |
|
-1. In software architecture, it is a module that can be executed independently. It is often compiled and/or compressed into an executable such as a .jar or .exe file. |
|
24 |
+1. In Spring, it is a general term for a bean that no other Spring Bean Annotation matches. |
|
25 |
+1. In software architecture, it is a module that can be executed independently. It is often compiled and/or compressed into an executable binary such as a .jar or .exe file. |
23 |
23 |
))) |
24 |
24 |
|Data Structure|(% style="text-align:justify" %)A very simple type of class that contains only data and no logic. For example, a class that has only public fields but no methods. Another form is a class with private fields and simple corresponding getters and setters. |
25 |
25 |
|Dependency|(% style="text-align:justify" %)In the context of classes, a dependency is a field that must be initialized with an instance of another class in order for an object of that class to function properly. Often, the initialization is realized via Dependency Injection. |
26 |
26 |
|Dependency Cycle|(% style="text-align:justify" %)For example, an instance of one class requires an instance of another class to be constructed, and vice versa. So both classes need the other dependency to construct an instance. Therefore, it is impossible to construct either instance at all. Always make sure that the dependency graph looks like a directed acyclic graph. |
27 |
|
-|[[Dependency Injection>>doc:Software Architecture.Dependency Injection.WebHome]] (DI)|(% style="text-align:justify" %)An object is injected with the dependencies it needs instead of constructing them itself. |
|
30 |
+|[[Dependency Injection>>doc:Software Engineering.Dependency Injection.WebHome]] (DI)|(% style="text-align:justify" %)An object is injected with the dependencies it needs instead of constructing them itself. |
28 |
28 |
|Dirty|((( |
29 |
29 |
(% style="text-align: justify;" %) |
30 |
30 |
~1. Messy, unreadable, or poorly designed code is referred to as "dirty code". Often associated with code written "quick-and-dirty" due to time pressure. |
... |
... |
@@ -46,8 +46,8 @@ |
46 |
46 |
(% style="text-align: justify;" %) |
47 |
47 |
2. In the context of software architecture, the term refers to classes that represent the model of the application and often represent things from the real world. For example, a banking application may have entity classes such as //Account//, //Order//, //Customer//, or //Employee//. They are often built like simple Data Structures, but may contain additional validation logic to impose logical constraints on their fields. For example, the integer field //customer.age// must always be between 0 and 150 because that is a logical constraint on people's ages, even though the integer data range is technically much larger. |
48 |
48 |
))) |
49 |
|
-|[[Field Injection>>doc:Software Architecture.Dependency Injection.Types of Dependency Injection.WebHome]]|(% style="text-align:justify" %)Dependency Injection is performed by forcibly injecting a dependency into an instance through the use of reflections that break even the encapsulation measures. This type of Dependency Injection is to be avoided. |
50 |
|
-|[[Inversion of Control>>doc:Software Architecture.Dependency Injection.Dependency Injection Explained.WebHome]] (IoC)|(% style="text-align:justify" %)Transfers the responsibility of defining the logic and order of Dependency Injections from the developer to computer. |
|
52 |
+|[[Field Injection>>doc:Software Engineering.Dependency Injection.Types of Dependency Injection.WebHome]]|(% style="text-align:justify" %)Dependency Injection is performed by forcibly injecting a dependency into an instance through the use of reflections that break even the encapsulation measures. This type of Dependency Injection is to be avoided. |
|
53 |
+|[[Inversion of Control>>doc:Software Engineering.Dependency Injection.Dependency Injection Explained.WebHome]] (IoC)|(% style="text-align:justify" %)Transfers the responsibility of defining the logic and order of Dependency Injections from the developer to computer. |
51 |
51 |
|JavaBean|((( |
52 |
52 |
(% style="text-align: justify;" %) |
53 |
53 |
A design convention for data structures. Usually it means a class which has: |
... |
... |
@@ -71,10 +71,10 @@ |
71 |
71 |
* Suppose that after a successful compilation, an executable file was created, started, and an exception was thrown shortly thereafter. Since this happened at runtime, it is a runtime exception. |
72 |
72 |
))) |
73 |
73 |
|Separation of Concerns|(% style="text-align:justify" %)A principle that says that programs should be modular, with each module taking care of a different aspect of the program. |
74 |
|
-|[[Setter Injection>>doc:Software Architecture.Dependency Injection.Types of Dependency Injection.WebHome]]|(% style="text-align:justify" %)Dependency Injection performed by passing a dependency to an instance via setter method argument. |
|
77 |
+|[[Setter Injection>>doc:Software Engineering.Dependency Injection.Types of Dependency Injection.WebHome]]|(% style="text-align:justify" %)Dependency Injection performed by passing a dependency to an instance via setter method argument. |
75 |
75 |
|Spring Bean|((( |
76 |
76 |
(% style="text-align: justify;" %) |
77 |
|
-A term used in Spring Framework for an object that is contained in the IoC container to be injected into other beans and/or to receive dependency injections. It is one of many components/beans that are wired together via IoC to form the application when it is started. |
|
80 |
+A term used in Spring IoC Framework for an object that is contained in the IoC container to be injected into other beans and/or to receive dependency injections. It is one of many components/beans that are wired together via IoC to form the application when it is started. |
78 |
78 |
|
79 |
79 |
(% style="text-align: justify;" %) |
80 |
80 |
Not to be confused with JavaBeans. |