越来越觉得编程不是一门技术,它更内在的气质是一种艺术,一种创造的艺术,这时你便是上帝,你可以构造一个叫宇宙的类,再构造出星星的类,这些类具有多态性,生成的对象有的是恒星,有的是行星,有的是卫星,你就像一位伟大的建筑师,思考这这个时间的内聚与耦合,正交与连锁,你用简单的笔法勾勒出复杂的线条,让现象表达得很复杂多样,而站在框架里的上帝们——你和你的伙伴,却都能看到整个内部结构显得唯美,一目了然。这时每个神都继承着你杰作,不断的丰富整个世界的内容,最后陆地出现了,海洋出现了,植物出现了,动物也出现了,人类也出现了,你们各种又留下了无数的独立接口,让别的神也享受你的艺术,由于接口是正交的,所以n个神的总接口数将是G1 * G2 *……Gn 于是这个世界发生着无穷种预料中的事,直到这一天,人类发现了偷懒的余地,于是也在悄悄的搞艺术,所以设计模式又叫偷懒也是艺术,简称"偷懒的艺术"。可能有一些朋友看糊涂了,以下将不断的连载一些例子,显示编程的艺术
让两个变量的值交换,或者说让你和我互相交换身体这个载体,那么从数学的角度,你可以找一个死人,然后我的灵魂先附到死人身上,你乘机附到我身体上,这时我的灵魂刚好可以从死人身上转到你身体上了。
模型如下:
temp=me;
me=you;
you=me;
数学虽然也是优美的,但有时美中不足,当你在作受限系统开发时,如单片机,你可用的资源很少,可谓捉襟见肘,哪给你有放死人的地方阿,请看逻辑学的优美艺术(C++描述)
you ^= me;
me ^= you;
you ^= me;
你相信吗?通过异或的可逆性把你和我像换魔术搬换过来,为什么呢,简单的解释如数学上的加(+)和减(-)两个运算符才构成逆运算,而异或本身(相当于一个运算符)就具有逆运算功能。其它的关于二进制位怎样进行着就不解释,在座有N个高手的,小弟不敢再……
以上只是个简单的例子
……
待续