日产GT-R|从软件架构说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是当前互联网的流行趋势 , 因为他实现起来最简单 。 毕竟浏览器是每一台电脑都有的 , 浏览器也是一个软件 。
【日产GT-R|从软件架构说C语言】这一结构带来的另一个后果是前后端分离 , 其实前端、后端根本就没有明显的界限 , 大体上界面部分为前端、数据库和处理部分为后端 , 而一个三部分全搞的程序员称为全栈程序员 。
推荐阅读
- 不会游泳的鱼儿|One Pro 21 for Mac(RAW图像处理软件),Capture
- 美创科技|美创科技入选《2020浙江省软件产业高质量发展重点项目》
- 来肯企汇|进销存软件在快消品行业的破与立
- 零售业|内讧、转型失败、前CEO被控告,“国民软件”没落,五年亏了11亿
- 商道创投网|推动软件安全产业商业化发展,开源网安完成数千万元A轮融资
- GeekChic|如何选择一家靠谱的软件开发公司?
- 手机游戏软件开发定制|苹果ios企业签名和苹果超级签名有什么不同之处?
- 专门网|一加8T评测:不足以脱颖而出设计:旗舰还是中端?屏幕:速度与质量的平衡性能:乏善可陈电池:充电一次可用一天半软件:新鲜感相机:一如既
- 江苏经济报|南京首家区级软件和人工智能产业联盟成立
- 金属加工|来!今晚8点教你用CAM软件玩转五轴、多轴数控加工