关于模式的那点事
群内在讨论模式的那点事,我就发言了,如下:
做软件除了实现基本的功能之外,很大一块的工作就是适配工作,适配工作就是模块内的函数交互,模块间的函数交互或接口交互(其实就是一组函数),进程间的协议交互等,以及为了这些交互顺利进行的约定规则,如数据类型,内存布局,进出栈方式,分配释放规则,通信协议等。
目前的各种模式无非就是这些交互法则的一个阶段性总结,交互跟实现语言息息相关,自然这些模式也是语言依赖的,语言是发展的,自然模式也是要进化的。
拿c++来说,早期没有gp思想,只有最基本的一点对象的东西,交互仅限于那么一些法则,有gp之后很多法则就变了,gp发展之后有的东西又继续发生着变化,因此我说那23条法则现在大部分都过时了。
其实就一个function+bind,就使得那23条里面的好几条就过时了,当然如果继续用最基本的封装继承派生等,那些法则还是有效的。
总之不要为模式而模式,模式只是一个有契约的总结而已。