面向對象解決「品牌樣式多樣、購買過程不可預測」類問題。將行為對象化、抽象歸類,簡化為幾個主要有機組合(框架化)。如電腦由主板、CPU、各類卡組成(框架),忽略具體型號差異(抽象)。
本質:大型工程分層次結構,每層由抽象結構連接為整體(框架化),結構間獨立可進化(繼承/多態),層間統一通訊機制(消息/事件)。
#define MacroFunction AFunction,需換實現時改宏定義為 BFunction,調用處無需變動。Nilan(int FunctionCode, Para*),內部 switch(FunctionCode) 調用子功能。C++ 在語言級支持繼承/多態,C 需自力更生。但通過宏、入口函數分發、回調函數三大模式,完全能在 C 中落地面向對象設計思想,構建可擴展、可維護的框架化系統。