什么是组件以及为什么使用组件

原创 2011年01月08日 12:12:00

   因为在编程当中呢,也就是随着现代编程语言,编程工具的发展,面向组件的编程思想越来越蓬勃发展;
   为什么要用组件?
   这个是我们经常可以看到的三层应用程序模型的出现,这个三层应用程序模型的出现可以说极大地促进了组件的发展,所谓的N层应用程序模型是在这个基础上发展起来的,对于任何的一个事物呢,我们分为三个层次或者说三个阶段或者三个层面来看待,首先是UI层(用户界面层),在这里面就是ASP.NET的页面包括ASP.NET的用户控件等等,UI层就像戏剧里面的演员,朋友们看到的是演员的表演,演员实际上就是UI层,观众直接看到的,用户直接看到的;业务对象层,我们也叫业务逻辑层包括一些业务对象的逻辑,比如以戏剧为例,导演这样一个角色就是出于业务逻辑层;数据层,剧本就是数据层;比如说我们有个电子商务的网站,那么毫无疑问各个界面各个页面都是UI层,整个的业务逻辑都是业务对象层(包括整个业务是如何实现的,整个数据是如何传递的,整个的表单时如何提交的等等都属于业务对象层),数据层常见的就是数据库了比如SQL Server,还比如说Access等等都属于数据层,基本上常见的应用程序呢都可以划分这三层,也就是您在进行程序设计的时候都可以从这三个角度来考虑它,也就是说这三个方面可以划分为独立的模块来做,比如UI层独立的表现,而业务逻辑层是独立的内部,它不需要界面的表现,只需要内部程序的一些算法,数据层专门处理数据的交互的,所以说这三块相对来说是独立的,所以就提到了组件的发展,也就是说既然它们可以独立出来,自然而然我们就把它作为一个模块来对待;
   什么是组件?
   可以在不同的应用程序中使用的对象集合,一般来说一个组件包括好多个对象,而这些对象是有一些相同的功能的,我们把他们放到一块组成了组件;组件类似软件编程中的积木,从程序发展的角度来讲呢,编码是越来越简单的,作为一个编码员来说我们只是把一些现成的组件堆积到一块;功能相对完备的单元,带有与它的内部体系结构相对独立的外部接口,就是说组件的外部接口是相对独立的和内部的算法是没有关系的,比如插线板,无论哪种插线板我们的计算机的插销都可以插上去,不管它是什么品牌,它的外部接口是一样的;例如Dll,文件对话框,aspnet_isapi用来处理ASP.NET页面的,Framework类库;
   组件的优点?
   首先单个的组件比一个功能完备的应用程序要简单的多,组件比应用程序小,比类大;组件功能是独立的,如果接口相同可以那另外一个组件来代替原来的组件,可以做到无缝升级;可以重复使用,我们编程语言的发展的目的就是重复使用,无论面向对象还是面向组件它们的目的都是重复使用,写一次就不用再写了,如果小的东西我们拿来过程如果相对大一点的我们拿来一个类,如果再大一点的我们拿来一个组件来;减少代码量,使得代码更容易维护;

React总结6:无状态组件

我们可以用纯粹的函数来定义无状态的组件(stateless function) 这种组件没有状态,没有生命周期,只是简单的接受 props 渲染生成 DOM 结构。无状态组件非常简单,开销很低...
  • juzipchy
  • juzipchy
  • 2017年07月08日 10:50
  • 883

什么是COM组件?

什么是COM组件? Answer: COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。 COM组件是遵循COM规范编写的 COM组件是一些小的二进制可执行文件...
  • eccode
  • eccode
  • 2007年01月08日 23:30
  • 1775

SpringMVC中的组件及各个组件的作用

一.SpringMVC中的组件及各个组件的作用? 1.DispatherServlet:前置控制器,负责接收并处理所有的web请求,根据handlerMapping找到具体的Controller,由...
  • sunhuiliang85
  • sunhuiliang85
  • 2013年07月27日 18:38
  • 4739

Spring三大组件

Spring三大组件
  • yxb1173276058
  • yxb1173276058
  • 2017年04月07日 16:14
  • 2251

前端框架vue.js系列(6):组件概念、动态组件

组件的概念 组件系统是 Vue 的一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树。换种说法,组件就是一个个...
  • zeping891103
  • zeping891103
  • 2017年09月28日 17:00
  • 133

父子组件

模板上: 我们给aaa组件里套一个子组件bbb: var vm = new Vue({ el:'#box', ...
  • github_26672553
  • github_26672553
  • 2017年01月23日 15:23
  • 725

vue.js的简单使用及组件套用

组件使用     vue-demo         .big{         font-size: 26px;     }          ...
  • u011937245
  • u011937245
  • 2016年12月12日 11:17
  • 1912

关于单文件组件.vue

环境搭建完毕,利用vue-router实现了页面跳转,那么现在要处理的就是页面的内容了。 一个页面可以看作是由各种各样的组件组成的,大至一个页面,小至一个按钮都可以作为一个组件,页面的组件化可以大大...
  • wimenlo
  • wimenlo
  • 2017年05月19日 16:00
  • 2189

第三篇 基本UI组件

在初步学习了OC和了解了Xcode的界面之后,我们要开始做一些具体的事情了。 Xcode为我们提供了很多现成的UI组件,让我们很轻松地就可以做出一个不太难看的界面,这里我门以一个简单的加法计算器为例...
  • fww330666557
  • fww330666557
  • 2016年01月22日 12:25
  • 922

JavaBean是什么

JavaBean是一种特殊的Java类,即:有默认构造方法,只有get和set方法的java类的对象。 专业解释:软件组件就是指可以进行独立分离、易于重复使用的软件部分。JavaBean就是...
  • tayanxunhua
  • tayanxunhua
  • 2014年02月24日 21:36
  • 9425
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是组件以及为什么使用组件
举报原因:
原因补充:

(最多只允许输入30个字)