在《C++网络编程》卷1中,提出网络应用领域中,有4个设计空间:通讯、并发、服务、配置。这本书的副标题就是“运用ACE和模式消除复杂性”。
这本书明确提到了消除复杂性!
1、无疑,网络应用程序是复杂的,把通讯、并发、服务、配置四个方面明确提出来,进行分离独立的思考,这就能够在一定程度消除复杂性。
2、通过使用模式消除复杂性。这个问题其实很多人都意识到,不过这本书作为副标题把这一观点提出来,可以说非常强调这一点,对此,我完全赞同。问题的复杂度并非其固有属性,乃是主观属性,不恰当的解决办法、不恰当的问题视角都是导致问题复杂度的原因。
说直接一点就是,事情本身可能不复杂,是因为你认为它复杂,而又因为你笨,导致无法认为它不复杂。
这里的笨是一个相对的概念,同时也是一个贬义词。查拉图斯特拉如是说,“猿猴对于人意味着什么?一个嘲讽或者一个痛苦的耻辱。人对超人也是这样,一个嘲讽或者一个痛苦的耻辱。”