以前学做游戏,书上说,一个打飞机的游戏,小飞机到处乱飞,那么它们究竟怎么飞才好?随机数+轨迹函数当然是一种方法,实际上,为了增大难度,录制一段轨迹(一个 Point(x,y) 的链表)等用户的飞机飞来后,彩排一道就是了。
这种轨迹叫做行为模式,例如蜜蜂是按 8 字飞的。
所谓设计模式意思就是常用软件设计方法,亦即开发人员常见飞行轨迹。既然是常用,很多东西大家都想的到,即使想不到,也见得到,例如工厂模式,在 .NET 里,会见到 File.CreateText() 这样的方法,这个方法创建一个流,一个典型的小工厂。所以只要经验足够,很多模式都是活生生的例子。
对象的关系照前面说的,也就是那些,设计模式绕来绕去也离不开对象和对象间的关系,所以设计模式归根结底是运用 OO 的世界观处理实际问题的办法。