个体与整体哲学原理在很多学科和领域中都会得到应用,今天就看看IT行业中有哪些地方应用了个体和整体的原理。

IT行业可以分为硬件、软件、网络三个领域,我们可以分别针对这三个领域来看下。

硬件方面,最基本的就是各种各样的电子元件,电容、电阻等等,这些基本的元素组成了电路。随着科技的发展,工业上采用了集成电路,把各种各样的元件集成在一块板子上,实现了一项功能,而这项功能是单个元件所不具备的,这正体现了整体具有个体不具备的特性的原理。而组装过计算机的同学都知道,想要组装一台兼容机,我们需要做的就是选购主板、显卡、声卡、CPU、内存、硬盘、机箱、显示器、鼠标、键盘等等组成部分,然后按照一定的方式组装在一起,就可以成为一台能够辅助我们工作、学习、娱乐的计算机了,各个部分缺一不可,但又可以用类似的组件来替换。

软件方面,在各种编程语言中,最基本的元素就是各种各样的关键字和符号,加上定义常量、变量的方法,我们就可以进行最基本的过程化语言编程。而程序执行的最基本三种结构就是顺序结构、选择结构和循环结构,这三种结构不断组合,就形成了各种各样程序。在面向对象的语言开发中,各种各样的变量、函数、方法组成了类、接口这些结构,进而形成了大型的软件系统。再复杂的软件系统也都是程序员们遵循各种语言之中的规律,从零开始,一行行代码编写出来的。

网络中也是一样,最基本的是各个网络设备,可能是一台计算机,也可能是交换机、路由器、防火墙等等,按照不同的方式组合起来(比方说星形、网状等等),就形成了一个个网络,世界各地的网络组合在一起,就形成了大家现在离不开的Internet。有了它,我们就可以把地球变成一个村子(不由地让我怀念当年在win95时代使用的一个台湾开发的软件,就叫做地球村,貌似现在已经没有了,当初在没有灵格斯的时代,是非常不错的翻译软件呢)。而IP地址的赋予也同样,分为四个部分,每个部分都是上一级的组成部分,是个体与整体的关系。

在以上三个方面中我们都会看到一种类似的情形,那就是最基本的元素组成稍微大一些的模块,像硬件中的集成电路、软件中的函数或者类、网络中的局部网络,一级一级递增,最终形成了大型的系统。而我们经常会把这叫做模块化。这种方式也给大家带来了非常大的方便。在硬件中,模块化之后的组件,我们可以很容易地通过插拔的方式来进行替换;软件方面,模块化编程让程序更容易维护,很多重构方法的目的也就是为了让程序的模块化程度更好,甚至OSGi做到了一定程度的极致,所有程序都是以模块的形式存在。

其实模块化的思想并不是仅仅在这个行业中存在的,也是从传统行业中借鉴过来的。像砖头,就是模块化最基本的例子,有了它,我们的建筑师们就不需要使用泥巴来盖房子了。

在软件开发的管理方面同样也有个体与整体原理的体现。

团队非常重要,在软件开发中也是一样,一般来说,一个团队中要有各种各样的角色,需求分析人员,设计人员,开发人员,测试人员,系统维护人员,项目经理,架构师等等,每个角色都是团队的组成部分,都有其各自的职责。各种角色相互配合,为了共同的目标努力,才能够让项目成功。如果大家不能够齐心协力,各自为战,甚至于相互倾轧,内耗,团队也就不能成为团队,项目的失败也就在所难免。

在当前流行的敏捷开发中,比方说Scrum框架中,也有对个体整体原理的应用。在做项目的时候,我们会把用户对整个系统的需求进行分解,形成一个一个的用户故事,然后基于用户故事来进行评估以及进一步分解,形成程序员可以选择和开发的backlog。各种各样的功能开发完成之后,就会组合起来,形成一个完整的系统。当然这个过程可能会每天进行,那就是持续集成。

而开发的进度也是一样,整个项目时间被切分为多个sprint,在每个sprint中我们都会完成特定的任务,并在每个阶段结束的时候对情况作具体的分析和调整,持续反馈,持续改进。当所有sprint完成的时候,也就是项目完成的时候。

总之,在IT领域,个体和整体原理可谓无处不在,那么如果我们能够理解这个基本的原理,并使用它来指导我们的工作和学习,必定会有更好的效果。

---分割线---下面的内容同样重要,:D----
如果您觉得这篇文章有趣或者有益,请在微信中搜索“happyprogrammer”或者“快乐的程序员”,关注我的微信公众账号,更方便地获得我分享的内容。
我会在其中分享自己各个方面的想法,编程、架构、敏捷、演说、育儿等等,目前正在写几个系列的文章,把自己在各个方面积累的一些经验更加系统地分享给大家,:)

IT领域中哲学原理的应用——个体与整体的更多相关文章

  1. 你的MySQL服务器开启SSL了吗?SSL在https和MySQL中的原理思考

    最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是MySQL5.7使用SSL加密连接的.本篇主 ...

  2. 针对于网络安全领域中基于PCAP流量的数据集

    网络安全领域中基于PCAP流量的数据集 MAWI Working Group Traffic Archive URL:http://mawi.wide.ad.jp/mawi/ CIC dataset ...

  3. 分布式数据库中CAP原理(CAP+BASE)

    分布式数据库中CAP原理(CAP+BASE) 传统的ACID 1)原子性(Atomicity): 事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功. 2)一致性(Con ...

  4. Linux中LVM2原理及制作LVM2

    Linux中LVM2原理及制作LVM2 一.LVM原理 [MD]:Multi Device 多设备 Mdadm是一个用户空间工具,是RAID的管理工具,与真正的RAID工作没有太大关系.真正的RAID ...

  5. DDD实战8_1 实现对领域中连接字符串的可配置

    1.在webapi的配置文件中配置连接字符串节 2.在webapi的startup类中的Configure方法中 将工具类里面AppSetting的静态Section的值 对应上webapi的配置文件 ...

  6. js中动画原理

    现如今,许多页面上均有一些动画效果.适当的动画效果可以在一定程度上提高页面的美观度,具有提示效果的动画可以增强页面的易用性. 实现页面动画的途径一般有两种. 一种是通过操作JavaScript间接操作 ...

  7. Android 网络框架之Retrofit2使用详解及从源码中解析原理

    就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全 ...

  8. iOS中多线程原理与runloop介绍

    一.线程概述 有些程序是一条直线,起点到终点:有些程序是一个圆,不断循环,直到将它切断.直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样:圆如操作系统,一直运行直 ...

  9. hadoop1中mapreduce原理详解

    剖析Mapreduce作业运行机制:原理如下图: 原理图的解释的可以分为以下几个部分 1.客户端提交一个mapreduce的jar包给JobClient 2.JocClient通过RPC和JobTra ...

随机推荐

  1. 【JavaScript】获取未知类的结构

    目录结构: // contents structure [-] 为什么需要获取类的结构 关于JavaScript中的类 定义类的方法 第一种 第二种 DEMO HTML页面 date文件 注意事项 参 ...

  2. 前端弹出对话框 js实现 ajax交互

    原本计划实现这样一个需求: 前台点击触发某业务动作,需要用户补充信息,不做跳转页面,弹窗的形式进行补充信息. 折腾出来了,但是最终没有用到. 代码还有些毛躁,提供大概实现逻辑. 实现思路: 在窗口铺上 ...

  3. 两种JavaScript的AES加密方式(可与Java相互加解密)

    由于JavaScript属于弱类型脚本语言,因此当其与强类型的后台语言进行数据交互时会产生各种问题,特别是加解密的操作.本人由于工作中遇到用js与Java进行相互加解密的问题,在网上查了很多资料及代码 ...

  4. SharePoint 2013 图文开发系列之网站栏

    网站栏的本质,就是一个xml的描述文件,所以创建过程,基本就是通过Feature部署一个Xml文件,然后修改Xml文件的网站栏描述. 1.添加新项目,选择SharePoint 2013 空项目,如下图 ...

  5. SharePoint 2013 版本功能对比

    前言:在SharePoint使用中,经常纠结于版本问题,SharePoint 2013主要有免费的Foundation和收费的标准版.企业版三个版本,他们之间的功能上是不一样的,找了一些资料才发现下面 ...

  6. 学习ES6生成器(Generator)

    背景 在JS的使用场景中,异步操作的处理是一个不可回避的问题,如果不做任何抽象.组织,只是“跟着感觉走”,那么面对“按顺序发起3个ajax请求”的需求,很容易就能写出如下代码(假设已引入jQuery) ...

  7. WeakReference在Handler中的应用

    public class AutoActivity extends Activity { Handler handler = new Handler(){ public void handleMess ...

  8. 《ARC以及非ARC的讨论》

    ARC的机制是什么?它在那里放入retain/release函数调用? 请停止思考这些问题,把更多的精力放在下面的问题上,比如你的程序逻辑,对象的强,弱引用,对象的所属关系,可能的循环引用等问题上. ...

  9. HTML5-01 简介

    标记语言 概述 标记语言(也称置标语言),是一种将文本及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的计算机编码.与文本相关的其他信息(包括例如文本的结构和表示信息等)与原来的文本结合 ...

  10. jQuery与Zepto的异同

    一,同: Zepto最初是为移动端开发的库,是jQuery的轻量级替代品,因为它的API和jQuery相似,而文件更小.Zepto最大的优势是它的文件大小,只有8k多,是目前功能完备的库中最小的一个, ...