一些web后台开发遇到的概念

本文大部分内容均来自网络,由博主整理,若有侵权,请联系博主删除。

框架和设计模式的区别

  • 框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。
  • 框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
  • 框架模式有MVC、MTV、MVP、CBD、ORM等等;
    框架有C++语言的QT、MFC、gtk,Java语言的SSH 、SSI,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等
    设计模式有工厂模式、适配器模式、策略模式等等

简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。(摘自百度百科)

什么叫套接字

  • TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这种端点就叫做套接字(socket)或插口。
  • 套接字用(IP地址:端口号)表示。
  • Internet主要有两种类型的套接字,一种是"Stream Sockets"(流格式),另外一种是"Datagram Sockets"(数据包格式)(貌似分别对应TCP/IP和UDP)。
  • 它是网络通信过程中端点的抽象表示,包含进行网络通信必需的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
    (摘自百度百科)

Web服务器工作原理

服务器工作原理
原博客地址请点击这里

网络为什么要分层

  • 各层之间是独立的。某一层并不需要知道它下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。由于每一层只实现一种相对独立的功能,因而可以将一个难以处理的复杂问题分解为若干个较容易处理的更小问题,这样,整个问题的复杂度就下降了。
  • 灵活性好。当任何一层发生变化时,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响,此外,对某一层提供的服务还可以进行修改。当某层提供的服务不再需要时,甚至可以将这层取消。
  • 结构上可分割开。各层都可以采用最合适的技术来实现。
  • 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个系统已被分解为若干个相对独立的子系统。
  • 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。

分层时应注意使每一层的功能非常明确,若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综述各层功能的系统工程任务时遇到较多的困难。
(以上摘自《计算机网络(第五版)》(谢希仁))

个人理解:网络分层类似与CPU对于物理内存的访问,网络之间可以直接一个bit一个bit发送数据,CPU读取内存也可以一个bit一个bit读取,但是我们为什么要使用虚拟地址,为什么要加入那么多级的缓存,原因和网络分层是有一定程度上有些类似的。比如说我对下的接口是一致的,不论你底层是用分页还是分段机制实现的,上层的结构我都可以不用修改,程序看到内存的结构还是一样的。我想这就是网络分层的意义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值