在经典的23个设计模式中,主要利用了面向对象的手段。
    面向对象是很好地解决了“抽象”的问题,绝大多数设计模式都在谈论“如何抽象”,怎么利用抽象的技术来实现一种松耦合的设计。但是必不可免要付出一定的代价。

    1. 比如,继承带来的内存开销(这个代价可以忽略不计)
    2. 比如,虚函数的性能开销,在某些情况下,有“倍乘效应”,本来事情只做一次,结果做了一万次,这时候的代价会直线上升

    对于通常情况来讲,面向对象的成本大都可以忽略不计。但某些情况,面向对象所带来的成本必须谨慎处理。

    典型模式

    1. Singleton
    2. Flyweight