Glossary
It should be noted that many of these terms are overloaded and could mean different things depending on context. This document simply defines what these terms mean in the context of discussions at Prenda. You may very well see differences in how these terms are used in content external to Prenda.
Useful Abstraction (UA)
A generic term used to describe a pattern, paradigm, tools, principle, practice, defined process, or architecture.
Coupling
The degree of interdependence between software modules. ISO/IEC/IEEE 24765:2010 Systems and software engineering - vocabulary
Cohesion
Functional Cohesion
...relating things together based on task, not on data.
Informational Cohesion
Ubiquitous Language
Bounded Context
Domain
Sub-Domain
Command
Query
Command Query Separation
Command Query Responsibility Separation
Model
Aggregate
Aggregate Root
Domain Model
Persistence Model
Invariant
Default
Logical Boundary
Domain Transfer Object
Active Record Pattern
Repository Pattern
Anemic Data Model
Functional Programming
Object Oriented Programming
Behavior
Side Effect
Subcutaneous Test
A test that operates just under the UI of an application.
DRY
"Don't Repeat Yourself" Once you write the same code twice be very aware of that pattern and the third time it shows up, extract it.