个体与整体哲学原理在很多学科和领域中都会得到应用,今天就看看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. codevs 1021 玛丽卡(spfa)

    题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们 ...

  2. 从头开始搭建一个dubbo+zookeeper平台

    本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用. 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后 ...

  3. 深入理解和应用display属性(一)

    Display在官方定义:规定元素应该生成的框的类型.本文只重点分析常用的6个值:none.block.inline.inline-block.inherit.flex.其他table.list-it ...

  4. javascript中的弹框

    大家都见过某度中的恶意广告,你关闭了又出来了!为何,JS来告诉你 效果猛戳此处 HTML <body> <h3 class="whiteColor">无法关 ...

  5. Spring(5)—— 注解

    注解Annotation,是一种类似注释的机制,在代码中添加注解可以在之后某时间使用这些信息.跟注释不同的是,注释是给我们看到,java虚拟机不会编译,注解也是不编译的,但是我们可以通过反射机制来读取 ...

  6. 滚动条美化实践(原生js,iscroll,nicescroll)

    近期需要改造项目中的滚动条,使原滚动条在三大浏览器下表现相同,分享一下自己的改造经历: 项目中的滚动条分布在网页的各个小窗口中,使用的是-webkit-scrollbar制作,在-webkit内核的浏 ...

  7. XcodeiOS模拟器安装相关

    模拟器下载 注意: Xcode 7 Beta 不支持 iOS 8.4 及之前的 SDK. 现在的Xcode 6.x 似乎只支持iOS 7.0及之后的版本,早期的模拟器运行时不支持新的CoreSimul ...

  8. asp.netDataTable导出excel方法(1)

    先来写一段代码,这段代码也是我在网上找的,但是他那个原先有点问题,我对他那个进行了修改,现在这个代码是我修改改过的,应该没有问题的. public int StreamExport(System.Da ...

  9. iOS - Json解析精度丢失处理(NSString, Double, Float)

    开发中处理处理价格金额问题, 后台经常返回float类型, 打印或转成NSString都会有精度丢失问题, 因此使用系统自带的NSDecimalNumber做处理, 能解决这问题:经过测试其实系统NS ...

  10. sourceTree忽略文件

    *~.DS_Store*.xcworkspacexcuserdata Podfile.lockPods