龙空技术网

从软件架构说C语言

肖v虎 83

前言:

眼前看官们对“c语言 文件是否存在数据库”大致比较关切,同学们都想要知道一些“c语言 文件是否存在数据库”的相关文章。那么小编也在网摘上网罗了一些有关“c语言 文件是否存在数据库””的相关文章,希望我们能喜欢,大家快快来了解一下吧!

今天我来聊聊软件的构架,这是一个粗浅的宏观的东西。主要涉及3个概念,他们是:界面、处理和数据库。

因为界面和数据库也有一定处理,所以他们的外围也是处理。

软件开发就是围绕着他们展开的,变化的只是他们的形式和侧重点。下面我拿我熟悉的场景和语言进行举例。

1、首先第一种很可能是我们学校里面教的第一门语言:C或C++语言,上面那个界面叫控制台或者命令行,冷冰冰、黑洞洞,一开始学他的时候我的脑子里总有一种疑惑:学这有啥用?

其实现在回过头来看看,无论是界面还是数据库都是离不开处理的,而C/C++语言解决的恰恰是最要命的处理,因为界面和数据库都是看得见的,而有非常多的东西比如内存、通讯、运算是我们所看不到的。我们只有学好基本功,以不变应万变才是正道。

2、从这个开始就有点意思了。上面是一个简单的计算器程序,他们的结构很可能是下面这样的。

用Visual_Basic、AutoIt3、易语言等可以很容易的制作出上面的程序来。虽然这个过程可能很有意思,但他可能不是程序员擅长的,因为界面是越漂亮越人性化越好。

网页,大家注意到没有,其实也属于这一类。只不过网页制作又细分为了3项工作:HTML、CSS、JavaScript,分别代表了结构、样式、动作。他们本质上解决的都是界面问题。

3、高级一点的程序一般都包括界面和数据库操作,这样的程序随处可见,常见到你感觉是理所当然的,打开微信,里面就有你上次的登录记录,登录网站,你很可能就是自动登录的。

而我们的帐号密码一定是存在数据库里面的。

4、界面、处理、数据库的物理位置可以离的非常远。大千世界的程序最普遍的结构是这样的。

大家可以看到HTTP协议在他们中间扮演着重要的角色。关于HTTP协议我想多说几句。完整的互联网通讯包括7层(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)构成OSI互联网通讯模型。而我们的HTTP协议只是应用层上的一个应用,像文件传输FTP、电子邮件传输SMTP等都是HTTP的兄弟。这些协议都是非常重要的,而他们都是没有界面的,很可能都是C语言实现的,所以说C语言才是最厉害的。

言归正传,像百度这样的网站就是上面的结构之一。

这一结构又分出2类,C/S和B/S,即Client/Server和Browser/Server而且B/S是当前互联网的流行趋势,因为他实现起来最简单。毕竟浏览器是每一台电脑都有的,浏览器也是一个软件。

这一结构带来的另一个后果是前后端分离,其实前端、后端根本就没有明显的界限,大体上界面部分为前端、数据库和处理部分为后端,而一个三部分全搞的程序员称为全栈程序员。

浏览器Browser是跨平台的(Windows、Linux等),所以网页制作是跨平台的,这相当于给程序员减负了。

服务端Server往往是非Windows的,感谢无数的先辈为我们带来了自由免费的GNU/Unix和GNU/Linux。是他为编程语言的百花齐放提供了土壤,同时带来了自由免费的开源思潮。为什么Python这么火,有一个重要的原因是他的使用协议。

5、而腾讯QQ可能属于最复杂的结构。因为他的用户太多了,需求也太多了,已经不能用浏览器这个软件承载了。数据库也不止一个了,各种各样的数据库充斥在前端、后端,分布在地球各处。当然数据的处理也是海量的。界面、处理、数据库结构也会异常复杂的。

客户端Client如QQ这般只能用C语言编写,或者C语言的升级版C++语言,因为其他语言要不在Windows上的效率太低了,要不就是依赖这依赖那。

这篇文章可能有些肤浅,但是通过编程的宏观框架,我想表达的是,C语言是非常强大的,C语言应该作为我们的入门语言,他低中高通吃,前端后端必备,他以计算机的视角看待问题,直接操作内存来处理问题,绝对是一门永不过时的语言。

标签: #c语言 文件是否存在数据库