By 高焕堂 2013/06/01
框架的对称性:蕴含单纯和美丽
1. 单纯美丽的密切联系
依据 爱因斯坦 相对论的说法:
“事物看上去是相对的,可是不要被善变的外貌所愚弄了。”
~~摘自 K. C. Cole的The Universe and the Teach-up一书~~
简而言之,当某事物在某种变化中不变,则称该事物具有对称性。也就说,当你把某个对象变换后,其形状不变的话,就找到一种对称性了。例如一个正方形,当它被旋转90度之后,就形状而言,你看不出有什么地方不同;此时你已经看到不变性了,因此找到对称性了。所以,寻找对称性也就是寻找不变性。当你发现两个事物是对称的,就会想到两个事物幕后的不变性,它蕴含单纯和美丽。因之会想到如何表达出这个单纯美丽的密切联系。软件框架设计也不例外,框架就是蕴含单纯和美丽,框架设计就是以精致的技术表达出这个单纯美丽的密切联系。[歡迎光臨 高煥堂 網頁: http://www.cnblogs.com/myEIT/ ]
例如,软件代码的基本组成单位是类(Class)。依据相对论的说法:“事物看上去是相对的,可是不要被善变的外貌所愚弄了”。那么,两个应用子类(例如子类A与子类B)之间,就外貌看来可能是相对的,该如何看出它们之间可能的对称性(即不变性)呢? 框架设计师大多会从类的接口而观之。此时,会发现两个应用子类的接口是一致的,那就找到对称性了。因为,两个应用子类提供一致的服务,当你从服务角度而观之,从子类A变换成子类B时,其接口和服务是不变的。
2. 框架蕴含单纯而美丽之序
当框架设计师发现众多应用子类是对称的,就会想到表面上繁杂多变的众多应用子类幕后的不变性,它的却蕴含单纯和美丽。框架就要蕴含这项单纯而美丽之序,以便包容应用子类的繁杂多变;框架之美就尽在其中矣! 在人们心目,具有最完美对称的东西,就是「无物」(Nothing)。这空无抽象概念,在印度的宗教中,占有非常重要的地位。古印度宗教的湿婆神代表最终的空无,祂是世界的创造者与毁灭者。逐渐地,印度又发明一个代数符号来代表「无物」概念,该符号就是「0」。宇宙始于最完美对称的空无,其蕴藏着自然创生的秘密。到了近代,0与1构成软件的最基本元素,完美对称的地方就蕴藏着软件的秘密。
3. 虚实相依
就空间而言,无物就是虚空(虚的空间),虚空可以蕴含各式各样的实物,让实物乘虚而(出)入,于是形成虚实相依的美丽境界。依据虚实相依的哲理,虚空可存在于实物之内,实物可存在于虚空之内,层层相依。于是,我将「物」区分为二:
- 虚物 --- 内含虚空,称为虚物。例如,茶杯、货柜、Windows等,皆可视为虚物。
- 实物 --- 被含在虚空之内的物,称为实物。例如,茶水被装入茶杯中、鞋子被装入货柜中、或应用软件被加载Windows环境里执行等。
物是虚或实,并非其本质,而只是相对观点而已。例如,鞋子相对于货柜,鞋子是实,而货柜是虚;而货柜相对于载货柜的轮船,货柜是实,而货柜轮是虚。鞋子、货柜、货柜轮三者虚实相依。由于物之的虚实只是观点而非本质,虚物是藉由虚空间来「持有」(Hold)或「支撑」(Support)实物。虚空间只是让实物能弹性地PnP( Plug and Play)到虚物里。于是,我们可以说:虚的树干支撑着众多实的树叶。高楼大厦的钢骨架构是虚的,它支撑着墙壁、门和窗等实物。所以软件框架里的抽象基类是虚的,而务虚则是框架设计师之职责。框架设计师的务虚与应用子类开发者的务实,形成虚实相依。
- 虚与实看似相对的东西,其实两者幕后隐藏着紧密的联系!
- 老子《道德经》:虚而不屈,动而愈出。(虚而不得穷屈,动而不可竭尽也)。
力与美看似相对的东西,其实两者幕后隐藏着紧密的联系! ◆
[Go Back]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步