Software Development, Software Architecture, Programming.
responsible for acceleration and a separate brake object is responsible for deceleration, then a change to the acceleration implementation in the engine object is unlikely to effect the deceleration implementation in the brake object. Maintaining highly cohesive components is easy. If all the logic