... |
... |
@@ -8,7 +8,7 @@ |
8 |
8 |
|**Term**|(% style="text-align:justify" %)**Explanation** |
9 |
9 |
|Abstraction|(% style="text-align:justify" %)((( |
10 |
10 |
1. The counterpart to 'Concretion', refers to interfaces and abstract classes that define behavior (function signatures) but leave the internal operation of these functions undefined. |
11 |
|
-1. A higher-level, generalized unit of code. Duplication across multiple functions can be resolved by creating an 'abstraction'—a separate function containing the shared code. This adheres to the DRY principle. |
|
11 |
+1. A higher-level, generalized unit of code. Duplication across multiple functions can be resolved by creating an 'abstraction' - a separate function containing the shared code. This adheres to the DRY principle. |
12 |
12 |
))) |
13 |
13 |
|Assertion|(% style="text-align:justify" %)Pertains to an assertion function, a crucial part of testing. If the input values don't satisfy a certain condition, the test containing the assertion fails. Example: 'assertEquals(expectedResult, actualResult)'. |
14 |
14 |
|Awareness|(% style="text-align:justify" %)A class A is aware of class B if it contains a reference to class B in its source code. If no such reference exists, class A is unaware of class B. |
... |
... |
@@ -40,6 +40,7 @@ |
40 |
40 |
|Graphical User Interface (GUI)|(% style="text-align:justify" %)A user interface that allows users to interact with the system through graphical elements like icons, buttons, windows, and menus. |
41 |
41 |
|[[Inversion of Control>>doc:Software Architecture.Dependency Injection.Dependency Injection Explained.WebHome]] (IoC)|(% style="text-align:justify" %)A design principle that delegates a program's control flow to a separate container or framework that "wires" application components together, facilitating [[dependency injection>>doc:Software Architecture.Dependency Injection.WebHome]]. An IoC container, as found in the Spring Framework, is a common tool for implementing this principle. |
42 |
42 |
|JavaBean|A design convention for data structures. Typically, a class with a public no-argument constructor, private fields, and getter/setter methods for each field. Often followed by DTOs and entities. |
|
43 |
+|Module|(% style="text-align:justify" %)A distinct part of a software that encapsulates specific implementation details, such as functions, data structures, classes, interfaces, or even other modules. It exposes a concise API designed to perform specific tasks. These modules are typically crafted for reusability and improved code organization, thereby promoting a modular design. |
43 |
43 |
|Logic|(% style="text-align:justify" %)Code with non-trivial complexity. For instance, getters and setters have trivial complexity and are usually not considered 'logic'. |
44 |
44 |
|Magic|(% style="text-align:justify" %)Code that performs complex tasks while abstracting away the complexity, presenting a simple interface to the user. |
45 |
45 |
|Operating System (OS)|(% style="text-align:justify" %)The foundational system software that manages and coordinates all computer resources. Examples include Windows, MacOS, and Linux. |
... |
... |
@@ -57,5 +57,6 @@ |
57 |
57 |
|Static|Pertains to behaviors or properties determined at compile time. Examples: static code analysis tools inspect source code; statically-typed languages determine an object's type at compile time. |
58 |
58 |
|Test Code|(% style="text-align:justify" %)Code that tests the functionality of production code. Does not contribute to the operational aspects of an application. |
59 |
59 |
|Test-Driven Development (TDD)|(% style="text-align:justify" %)A development approach where code is written in small increments, with tests defining functionality written before each coding iteration. |
|
61 |
+|Unit|(% style="text-align:justify" %)The smallest testable part of an application. This is often a single class, method or module, but can also be a small cluster of tightly coupled classes or functions that together perform a specific functionality. |
60 |
60 |
|Virtual Machine (VM)|(% style="text-align:justify" %)A software emulation of a physical computer, able to run its own OS and applications as if it were a separate physical machine. |
61 |
61 |
|Wiring|(% style="text-align:justify" %)The process conducted by the IoC container to create and inject dependencies, facilitating application startup. |