抽象和分层是我们的强力武器,我们可以利用它们让我们的计算机系统更加强大,完成各种”不可能“。携宽册
*** 作系统,应用软件设计,网络协议栈等等,都体现了分层思想。分层中,每个层次负责不同的功能。一般来讲,下层为上层提供服务,上层不要知道下层的具体实现细节,辩宏只需使用下层提供的服务。而层与层之间联系的桥梁就是“接口”(Interface)。
OS调用硬件提供的api,软件调用OS提供的api,而用户调用软件提供的api。
举个例子,在计算机网络中,处于应用层的协议,如http,ftp等,可以”享受"传输层提供给他们的服务,他们无需考虑底层链路细节,无需考虑报文是如何到达接收方,这就是分层带来的好处!
我们有了分层之后,所带来的可复用性,亦是独立性等,都有助于我们更好的管理计算机这一庞大的系统。
比如,对于物理硬盘的抽象,可以把巧脊它看成一个存储各种数据的对象,有read和write方法。
在设计 *** 作系统时,就体现了主要的分层思想. os管理计算机硬件, app 通过os提供的接口调用使用硬件, 在os的设计中, 广泛使用了分层设计的思想:
计算机网络分层架构
顾名思义手凯抽象编程是指在编程的过程中把大象抽出来。如何在编程的过程中把大象抽出并保持程序的可移植性,这个一直以来是一个困扰全世界各类语言编程的程序员的一个难题。
最早提出抽象这个概念的是
达芬奇
在他的名画中有着抽象的充分演示。
如果在一个项目中做到抽象编程的话,无疑是完美的。那么在编译型的语言中如果做到呢?
首先搭建环境,这个问题怎么说呢?真是个见仁见智的。
在C语言中和在JAVA又或者在Python中如何搭建这个抽象的环境。
由于笔者最近热衷于Python的开发。首先谈谈在Python中如何做到把大象抽出来的同时保证程序的完美的可移植性。
第一
建立一个抽象类库。
打开IDLE,引入抽象的概念。
第二
告诉大象我们即将把你抽出来。这个对于大象来说是很不公平的,它肯定的回答NO
那么我们是不是就不能把大象抽出来了呢?当然可以。大象是很笨的,我们可以先构造一个函数。内容包括香蕉芒果等大象爱吃的食物,先把大象“骗”出来。当然这个也是很有技巧的。骗出来以后大象暂时存在什么地方呢?众所周知Python讲究效率、快捷的开发注重的是解决问题。那么,我们到哪里去找个那么大的空间把大象存进去呢?答案当然是动物园啦。首先与管理员协调暂存事宜。待需要的时候在把大象引入回来。
第三
大象的引入问题
这个时候相信大家对把大象存在什么位置已经有了个初步的了解,但是如果管理员很热爱大象的话,给大象提供的伙食比我们先前的要好。那么这个时候引入无疑会增加敏薯瞎成本。必须提供更好的伙食条件大象才有可能原因再次回来我们预先的架构中继续工作。那么在作者的BLOG中有着一套比较完整的解决方案。下面的参考地址会给出作者的Blog地址。请大家争相传阅。
总结:抽象编程的原理大家都清楚了。需要解决的主要问题就桥空是把大象抽出后的再次引用问题。这个也是本文的难点。希望对大家有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)