Object-oriented programming has been promoted as a programming style that brings reusability, extensibility, and maintainability to codes. Software design patterns are solutions that address recurring design problems, and are generally considered the most appropriate practice of object-oriented programming. Developing computational electromagnetic software is not devoid of these design problems. This paper identifies three design problems and their corresponding solutions, namely, strategy pattern, observer pattern, and bridge pattern. These design patterns incur computational cost associated with the implementation of objects in the programming languages. They should be judiciously avoided in the solver, and more liberally applied in less computationally demanding components of electromagnetic software.