这个故事最初是来自和发哥的一次聊天,他说了一些面向对象设计方面挺有意思的事情,包括 Double Dispatch(下面会提到),我根据我自己的体会和思考,把这些零散的片段重新整理成一个小故事,欢迎感兴趣的同学一起讨论。
有一个苦逼的程序员,叫做小 P。
有一天,老板给他传达了这样一个需求,根据用户不同的图像绘制事件,画出一个圆或者是画出一个方块来。
老板传达的图像绘制事件是这样的:
interface DrawEvent { } class RoundDrawEvent implements DrawEvent { } class RectangleDrawEvent
[……]阅读全文