我把这个问题的多个层面的问题说明出来。的在实际的系统设计中,有不同层次的技术点。有的人只关系最底层的东西,越是遇到高层一些的设计只是越是嗤之以鼻。然而你会发现,真正工作中,其实总是希望首先精通比较高层、高效率的操作方法,例如首先要求你给自己的企业的 IT 部门采购和调试一个 dns 服务器,而不是让你自己花5年时间去开发什么底层软件。所以先会实用应用开发层技术,那些抠底层的东西(对大4学生来说)通常要等到5~10年以后才真正需要你来研发使用。
给你举个实际业务的例子,比如某公司自己有个网站,它有许多个服务系统、并且之间需要 SOA 互相调用,那么它们就可以把服务地址统一地发布到自己公司的一个公共的网络服务器上。例如(这里只是举例)一个
http://www.abc.com/getIp.ashx?service=30112
返回其真实的服务器位置(甚至是动态地找一个对客户端响应最快的服务器),或者可以通过自己购买的(一年才50块钱)域名来解析各种不同的二级域名的 ip 或者跳转到其它域名。
我举这个例子,是说的是,这是一种实际的软件工程。不抠底层编程技术,来说说大量的流行的真正实用的系统的应用设计方法,那么思路就不一样了。