面向对象编程

意味着几件事情。
第一,参与这个系统的角色一定有多个,若只有一个角色,且只有一个动作,那就退化成面向过程编程。
第二,需要规约出系统的各个角色,以及相互之间的交互
第三,根据需要抽象出各种抽象层。
第四,每个抽象层的实现就是面向过程编程

note1.其实所谓的组件化就是合理的抽象出系统内的角色,然后以服务的形式对外运行,而非原来的代码层面的内联。
note2.现有大部分编程事件都是面向过程的层次,很少涉及设计,也少有人员想要先去设计