IT领域中哲学原理的应用——个体与整体
个体与整体哲学原理在很多学科和领域中都会得到应用,今天就看看IT行业中有哪些地方应用了个体和整体的原理。
IT行业可以分为硬件、软件、网络三个领域,我们可以分别针对这三个领域来看下。
硬件方面,最基本的就是各种各样的电子元件,电容、电阻等等,这些基本的元素组成了电路。随着科技的发展,工业上采用了集成电路,把各种各样的元件集成在一块板子上,实现了一项功能,而这项功能是单个元件所不具备的,这正体现了整体具有个体不具备的特性的原理。而组装过计算机的同学都知道,想要组装一台兼容机,我们需要做的就是选购主板、显卡、声卡、CPU、内存、硬盘、机箱、显示器、鼠标、键盘等等组成部分,然后按照一定的方式组装在一起,就可以成为一台能够辅助我们工作、学习、娱乐的计算机了,各个部分缺一不可,但又可以用类似的组件来替换。
软件方面,在各种编程语言中,最基本的元素就是各种各样的关键字和符号,加上定义常量、变量的方法,我们就可以进行最基本的过程化语言编程。而程序执行的最基本三种结构就是顺序结构、选择结构和循环结构,这三种结构不断组合,就形成了各种各样程序。在面向对象的语言开发中,各种各样的变量、函数、方法组成了类、接口这些结构,进而形成了大型的软件系统。再复杂的软件系统也都是程序员们遵循各种语言之中的规律,从零开始,一行行代码编写出来的。
网络中也是一样,最基本的是各个网络设备,可能是一台计算机,也可能是交换机、路由器、防火墙等等,按照不同的方式组合起来(比方说星形、网状等等),就形成了一个个网络,世界各地的网络组合在一起,就形成了大家现在离不开的Internet。有了它,我们就可以把地球变成一个村子(不由地让我怀念当年在win95时代使用的一个台湾开发的软件,就叫做地球村,貌似现在已经没有了,当初在没有灵格斯的时代,是非常不错的翻译软件呢)。而IP地址的赋予也同样,分为四个部分,每个部分都是上一级的组成部分,是个体与整体的关系。
在以上三个方面中我们都会看到一种类似的情形,那就是最基本的元素组成稍微大一些的模块,像硬件中的集成电路、软件中的函数或者类、网络中的局部网络,一级一级递增,最终形成了大型的系统。而我们经常会把这叫做模块化。这种方式也给大家带来了非常大的方便。在硬件中,模块化之后的组件,我们可以很容易地通过插拔的方式来进行替换;软件方面,模块化编程让程序更容易维护,很多重构方法的目的也就是为了让程序的模块化程度更好,甚至OSGi做到了一定程度的极致,所有程序都是以模块的形式存在。
其实模块化的思想并不是仅仅在这个行业中存在的,也是从传统行业中借鉴过来的。像砖头,就是模块化最基本的例子,有了它,我们的建筑师们就不需要使用泥巴来盖房子了。
在软件开发的管理方面同样也有个体与整体原理的体现。
团队非常重要,在软件开发中也是一样,一般来说,一个团队中要有各种各样的角色,需求分析人员,设计人员,开发人员,测试人员,系统维护人员,项目经理,架构师等等,每个角色都是团队的组成部分,都有其各自的职责。各种角色相互配合,为了共同的目标努力,才能够让项目成功。如果大家不能够齐心协力,各自为战,甚至于相互倾轧,内耗,团队也就不能成为团队,项目的失败也就在所难免。
在当前流行的敏捷开发中,比方说Scrum框架中,也有对个体整体原理的应用。在做项目的时候,我们会把用户对整个系统的需求进行分解,形成一个一个的用户故事,然后基于用户故事来进行评估以及进一步分解,形成程序员可以选择和开发的backlog。各种各样的功能开发完成之后,就会组合起来,形成一个完整的系统。当然这个过程可能会每天进行,那就是持续集成。
而开发的进度也是一样,整个项目时间被切分为多个sprint,在每个sprint中我们都会完成特定的任务,并在每个阶段结束的时候对情况作具体的分析和调整,持续反馈,持续改进。当所有sprint完成的时候,也就是项目完成的时候。
总之,在IT领域,个体和整体原理可谓无处不在,那么如果我们能够理解这个基本的原理,并使用它来指导我们的工作和学习,必定会有更好的效果。
---分割线---下面的内容同样重要,:D----
如果您觉得这篇文章有趣或者有益,请在微信中搜索“happyprogrammer”或者“快乐的程序员”,关注我的微信公众账号,更方便地获得我分享的内容。
我会在其中分享自己各个方面的想法,编程、架构、敏捷、演说、育儿等等,目前正在写几个系列的文章,把自己在各个方面积累的一些经验更加系统地分享给大家,:)
IT领域中哲学原理的应用——个体与整体的更多相关文章
- 你的MySQL服务器开启SSL了吗?SSL在https和MySQL中的原理思考
最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是MySQL5.7使用SSL加密连接的.本篇主 ...
- 针对于网络安全领域中基于PCAP流量的数据集
网络安全领域中基于PCAP流量的数据集 MAWI Working Group Traffic Archive URL:http://mawi.wide.ad.jp/mawi/ CIC dataset ...
- 分布式数据库中CAP原理(CAP+BASE)
分布式数据库中CAP原理(CAP+BASE) 传统的ACID 1)原子性(Atomicity): 事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功. 2)一致性(Con ...
- Linux中LVM2原理及制作LVM2
Linux中LVM2原理及制作LVM2 一.LVM原理 [MD]:Multi Device 多设备 Mdadm是一个用户空间工具,是RAID的管理工具,与真正的RAID工作没有太大关系.真正的RAID ...
- DDD实战8_1 实现对领域中连接字符串的可配置
1.在webapi的配置文件中配置连接字符串节 2.在webapi的startup类中的Configure方法中 将工具类里面AppSetting的静态Section的值 对应上webapi的配置文件 ...
- js中动画原理
现如今,许多页面上均有一些动画效果.适当的动画效果可以在一定程度上提高页面的美观度,具有提示效果的动画可以增强页面的易用性. 实现页面动画的途径一般有两种. 一种是通过操作JavaScript间接操作 ...
- Android 网络框架之Retrofit2使用详解及从源码中解析原理
就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全 ...
- iOS中多线程原理与runloop介绍
一.线程概述 有些程序是一条直线,起点到终点:有些程序是一个圆,不断循环,直到将它切断.直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样:圆如操作系统,一直运行直 ...
- hadoop1中mapreduce原理详解
剖析Mapreduce作业运行机制:原理如下图: 原理图的解释的可以分为以下几个部分 1.客户端提交一个mapreduce的jar包给JobClient 2.JocClient通过RPC和JobTra ...
随机推荐
- jquery返回顶部,支持手机
jquery返回顶部,支持手机 效果体验:http://hovertree.com/texiao/mobile/6/ 在pc上我们很容易就可以用scrollTop()来实现流程的向上滚动的返回到顶部的 ...
- AMD and CMD are dead之Why Namespace?
缘由 当我看到_Franky兄的微博的时候: 我觉得我有必要出来详细说说KMDjs到底有什么本质上的优势了,连教主_Franky.貘吃馍香都不能理解他的好处,那么可想而知,在前端圈.或是全端圈.或是I ...
- webpack初体验
本人菜鸟一枚,最近一直在研究webpack的使用,记录下自己的学习体会,由于网上关于webpack的资源(技术博客)太多,对于初学webpack的新手来说,看着五花八门的技术博客,真是头晕眼花(可能是 ...
- C++序列化、反序列化
几个常见的库 http://stackoverflow.com/questions/3637581/fastest-c-serialization Boost: Fast, assorted C++ ...
- iOS之设置头像(访问系统相册、本地上传)
1. UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle: ...
- Android自定义控件7--自定义开关--绘制界面内容
本文实现全自定义控件--自定义开关 本文地址:http://www.cnblogs.com/wuyudong/p/5922316.html,转载请注明源地址. 自定义开关 (View),本文完成下面内 ...
- CoreData
之前在学习使用SQLite时, 需要编写大量的sql语句,完成数据的增删改查,但对于不熟悉sql语句的开发人员来说,难度较大,调试程序比较困难. 由此出现CoreData框架,将sql的操作转换成为对 ...
- MPMoviePlayerController属性,方法,通知整理
属性 说明 @property (nonatomic, copy) NSURL *contentURL 播放媒体URL,这个URL可以是本地路径,也可以是网络路径 @property (nonatom ...
- 使用DOTNETZIP过滤并压缩相对目录
业务要求: 压缩某个文件夹及其子目录 压缩时只压缩指定的文件类型,如cshtml 压缩后保持相对目录 找了很久,没有直接的DEMO,最后尝试通过以下代码完成 示例演示了只压缩cshtml和js,同 ...
- 思考:用开发移动app的观念来开发网站
首先祝大家新年快乐.万事如意. 开发网站程序也有一些年头了,从最初的静态HTML+ JS,到后来的WebForm,然后过渡到现在的MVC. 由于最近做一些技术调研,也接触了很多移动开发,iOS和And ...