In this thesis we propose a modern architecture of the Finite-Difference Time-Domain method through importing concepts of Object-Oriented Programming and apply to real world structures. Most implementations are created in procedural style even in a language supporting Object-Oriented Programming due to the difficulty to separate components from the main program in traditional formulas. Procedural style is intuitive to transform formulas into codes. However, it needs considerable changes to suit different cases. Modularized Maxwell's equations are discussed and transformed into codes in this thesis. For assembling components well, we design a new Design Pattern to extend, overwrite, and delegate methods to the main component. Finally this implementation is applied to simulations of some dispersive plasmonic structures.