Glossary¶
Architecture tactic — a focused design decision intended to influence a quality attribute.
Anti-pattern — a recurring problematic response to a recurring context, together with consequences and often a recovery approach.
Code/design smell — a detectable symptom that suggests possible design difficulty and warrants investigation.
Design pattern — a named, reusable design solution structure for recurring forces in a context.
Information hiding — structuring modules so volatile design decisions are hidden behind stable interfaces.
Pattern language — a related set of patterns whose relationships guide sequences of design decisions.
Refactoring — behavior-preserving change to internal software structure.
Refactoring to patterns — incremental restructuring toward a pattern when that pattern resolves an existing design problem.
Search-based software engineering (SBSE) — formulation of software engineering tasks as search/optimization problems.
Semantic preservation — preservation of relevant observable program behavior across a transformation.
Technical debt — future cost created by expedient design/implementation choices; not every smell or shortcut is automatically debt.