将一组大程序分解为一系列的子程序/过程的好处是什么?试分析,在客户程序的设计实现时,为什么为什么要先抽象为connectTCP( machine, service )和connectUDP( machine, service )两个模块,而这两个模块又具有共同的底层模块connectsock?
过程通过将细节隐藏起来,提高了程序员所用语言的级别。
构造客户和服务器的时候,使用网络服务的程序包括了一大堆枯燥的细节,(如端点地址等)使用过程来隐藏细节将减少出错的机会。
使用过程(以及它所提供的较高级的的操作)可以避免重复,使用者可以在许多程序中使用他们,不需要再考虑实现的细节。
如能回答:多数代码需要分配套接字、绑定地址并构成网络连接,这些重复出现因而可以重用;TCP/IP网络是异种网互联,代码需要运行在不同机器的体系结构上,因而便于移植,
参数抽象如下:连接需要指明服务器的IP地址和服务类型(端口号)