móðularkitektúr
Móðularkitektúr refers to a design philosophy for software systems that emphasizes the modularization of code into discrete, reusable units called modules. Each module is designed to perform a specific function or set of related functions, encapsulating its own data and logic. This approach promotes a clear separation of concerns, where dependencies between modules are minimized and interactions are well-defined through interfaces. The benefits of móðularkitektúr include improved maintainability, as changes within one module are less likely to affect others, and enhanced reusability, allowing modules to be incorporated into different projects. It also facilitates team collaboration by enabling developers to work on individual modules concurrently without extensive coordination. Testing becomes more manageable as modules can be tested in isolation. Common implementations of móðularkitektúr can be seen in various programming paradigms, from object-oriented programming with classes and packages to service-oriented architectures where independent services act as modules. The core principle is breaking down a complex system into smaller, understandable, and manageable pieces. This decomposition aids in development, debugging, and evolution of the software over time.