在面向对象的软件设计过程 中,为了提升软件的复用性、灵 活性、扩展性、可维护性、稳定性, 程序员通过封装、继承、派生等 手段对软件架构有目的性的进行 了一些额外设计。