思想:
如何提高自己的修养,对程序的sense
Fefactoring is helping to cultivate sense of code quality.
细节:
(1) encapsulation
It's a kind of thinking, not just for OO
(2) inheritance
From child point of view, how to keep the parent's specification
From parent point of view, don't offer a interface for different client. Make public not protected and Make protecked not Public
(3) ploymophism
Bridge patter