Software rot
Software erosion (English: software erosion, erosion code ), also known as software decay (English: software decay, code decay ), Softwareverrottung (English: Software red, code red), referred to the increasing entropy of an existing software solution. This entropy leads with increasing development of the software solution to a decrease in performance, impediments to adaptability, an increase by the accumulation of bugs and incompatibilities with new and future software environments. The software solution gets in the medium term a " smell " and is useless in the long term to a legacy system and that.
Refactoring
Refactoring is a measure to address the problem of software erosion. This is to make the process of rewriting existing code to improve the structure without changing the external behavior. This includes removing dead code and rewriting of portions that have been extensively modified and no longer work effectively. Here it must be ensured that the external behavior of the code does not change, as this can lead to incompatibilities and allow the software to accelerated erosion. The code performance can be tested with unit tests, which automatically verify the behavior of the code.
Credentials
Abstract Factory | Builder | Factory Method | Prototype | Singleton
Adapter | Bridge | Decorator | Facade | Flyweight | Composite | Deputy
Observer | Visitors | Interpreter | Iterator | command | Memento | template method | strategy | Operators | state | Chain of Responsibility
Multitone | Object Pool
Interceptor | null object | protocol stack
Business Delegate | Repository | Data Access Object | Transfer Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control ( IoC ) | Model View Presenter ( MVP ) | Model View ViewModel ( MVVM ) | Thread Pool | Service Locator
- Anti- Pattern