面向对象和面向过程的区别
- 面向过程:面向过程的性能比面向对象高。因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,(比如:单片机、嵌入式开发、Linux/Unix等)这些一般都是面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。
- 面向对象:面向对象易维护、易复用、易扩展。因为面向对象有封装、继承、多态的特性,所以可以设计出低耦合1的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。
有关耦合,详情请参考低耦合的理解
低耦合:耦合是对一个元素与其他元素之间的联系、感知和依赖性的度量。低耦合要求在我们的软件系统中,一个元素不应该过度地依赖于其他元素。 ↩︎