导航:首页 > 编程语言 > 组件编程技术

组件编程技术

发布时间:2022-08-05 04:15:03

❶ 面向对象,面向服务,面向组件三种编程模式有什么区别

三个数据后面都缺了一个词,分别是:“编程”、“架构”和“开发”(或“软件工程”)。 同时,不是“面向”组件而是“基于”组件。

面向对象编程(Object-Oreinted Programming) 是一种编程范式。指在设计程序时大量运用类实例对象的方式。OOP一旦在项目中被运用,就成了时刻要考虑的东西。
面向服务架构(Service-Oreinted Architecture) 是将软件设计成一组可互操作的服务的一套原则或方法论。通常在考虑系统架构时才会触及SOA。
基 于组件开发(Component-Based Development) 是一种软件工程实践,设计时通常要求组件之间高内聚,松耦合。其接口可能是OO的,调用方式可能是以Service的方式。基于组件开发关注系统层次、子 系统边界和子系统间通讯的的设计,处于代码层面但不像OOP的一样是时刻需要运用的东西。

三者身处软件开发的不同层面,因此说他们用于“哪些领域”并不恰当。不论是哪个领域的软件开发,都可能要同时面对OOP、SOA和CBD。

❷ vb编程是什么意思,主要干嘛的

VB程序开发的基本流程是:界面设计(放置窗体和控件)――属性设置(设置窗体、控件的属性)――编写代码――运行调试。其优点是在窗体上添加控件并设置属性后就可完成界面的设计使程序员轻易的就可完成界面的设计,而无需过多的进行设计和编程。只需调用预先准备好的、经过测试的、完全就绪的模块就可完成所需实现的功能。这种备用性的软件模块被称作――组件。窗体和各种控件就是组件。
VB编程的核心思想就是组件编程。VB是最早引入组件编程的概念,其后被其它语言所采用并成为一种标准,如VC++、Delphi、PowerBuilder都采用组件编程模型,并采用面向对象编程技术,成为当今程序设计的发展方向之一。
VB编程时,因为使用组件技术,所以不必从底层的窗体、控件开始设计,可以向工厂通过各种部件组装生产机器一样,通过微软或第三方提供的组件,组装成所需的程序。用什么组装?就是用VB的代码,其作用就像胶水一样,用有限的代码和组件联结成一体。最后形成一个完整的应用程序。
如果没有现成的组件或需要创建一个新类时,就需要编写代码。
组件的种类很多,有多少组件可用,各组件有什么作用,这需要在实践中不断摸索。

❸ 电脑编程需要哪些知识,

选择出适合自己的开发工具。
1、语言开发工具 诸如Delphi、VC++、VB等语言都是一种面向对象的程序设计语言,虽然每种语言在对面向对象的支持不尽相同,但它们始终贯穿整个程序设计的思维方式的主线。因此,要学好这些语言最开始不应该将重点放在某种语言的具体语法格式上,而应该注重学习面向对象的基本理论。常用的开发工具有:Visual Basic,Visual C++等等。
2、数据库编程 如果你主要是想完成数据库方面的设计,那么应该选择专门的数据库开发工具,常见的有:SQLServer、PowerBulider等。假如只是需要完成相对简单的数据库功能,那就仔细看看Access吧。花不多的时间,也能让你有很大的收获,另外,还有一些专门用于大型数据库开发的工具如:DB2、Sysbase以及Oracle,这一类的软件一般都需要有较扎实的数据库基础知识和一定的
软件开发能力。
3、网络编程 目前较为流行的网络编程工具可谓“风格迥异,百花齐放”。每一种工具都有其独特的特点,在互联网实现上都有各自的优势。 在学习Java时,应该明确其中对象、继承等面向对象的基本理论,从根本上掌握Java的运行机制。在学习中应把重点放在其语言基础、Java与ActiveX以及
JavaBeans等组件之间的编程技术以及应用上来。你可以自己编一些较为经典的小程序来加深基本技能的掌握:用Java的图形处理能力编写纸牌游戏,用AWT编写扫雷或者俄罗斯方块、用Java的网络功能编写网络聊天室等等。
以上就是学习编程需要了解的一些基础知识,要学习编程,其实需要很多方面的知识,广泛涉猎,才能真正学好编程。

希望帮到你,若满意,记得采纳哦,谢谢~

❹ 什么是 COM编程技术

指组件对象模型,把程序某些部分设计成组件,组件由对象组成,对象则提供接口,接口完成类似的功能。程序把各个组件利用起来组成应用系统。就象机器零件一样,生产零件、最后总装。

❺ C#组件编程的好处是什么

可以简化代码,增加代码的可读性,并利于快速开发
你想想,以后要是一个大项目,要大量用到某些代码块,你设计了组件后碰到这样的地方就直接拖进去就行了;再者,别人开发的某些代码块与你的相同,有了你的组件的话别人就不用再重新开发一次了。

❻ 面向组件三种编程模式有什么区别

我讲讲我的理解,可能讲得也不合适:
面向对象:以对象方式编程而非过程式,是与面向过程相对应的概念。
面向服务:这是平台级应用才会使用的方式,是为了模块化系统结构,各子系统之间以服务方式通信,为的是降低项目复杂度,耦合性。
面向组件:组件是对功能的抽象,既把一组通用的功能做成一个工具一样使用,如 Tocmat 中的 Server Service Engine 等概念。

这些概念的主题都是为了使我们更方便地写代码,维护系统。

❼ VB编程水仙花数

VB实现水仙花数的程序代码如下:

PrivateSubCommand_Click()

Fornum=100To999

a=numMod10

b=num10Mod10

c=num100

Ifa^3+b^3+c^3=numThenPrintnum

Nextnum

EndSub

实现具体步骤如下:

1.启动VB程序,新建一个标准的exe项目,如下图。



(7)组件编程技术扩展阅读:

C语言实现水仙花数的代码:

#include<stdio.h>

#include<stdlib.h>

voidmain()

{

inti,j,k,n;

printf("'waterflower'numberis:");

for(n=100;n<1000;n++)

{

i=n/100;/*分解出百位*/

j=n/10%10;/*分解出十位*/

k=n%10;/*分解出个位*/

if(n==i*i*i+j*j*j+k*k*k)

{

printf("%-5d",n);

}

}

printf(" ");

}

注意事项:

VB编程的核心思想是组件编程。VB是最早引入组件编程的概念,然后被其他语言采用并成为标准,如vc++、Delphi、PowerBuilder等都采用了组件编程模型,并利用面向对象的编程技术,成为当今程序设计的发展方向之一。

VB编程,由于采用了组件技术,所以不必从底层开始窗体,控制设计,可以由工厂通过各种零件装配生产机器,通过Microsoft或第三方提供的组件,装配成所需的程序。与什么?VB是代码,它像胶水一样,把有限的代码和组件粘合在一起。结果是一个完整的应用程序。

VB有一个图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以很容易地使用s、RDO、ADO连接到数据库,或者很容易地创建活动的X控件,从而高效地生成类型安全的和面向对象的应用程序。

程序员可以使用VB提供的组件轻松快速地构建应用程序。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。

VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。

❽ 什么叫组件化开发

张克军 提出的“组件化就是函数式界面开发”这一说法我是难以接受的,函数式界面开发就让它好好地叫“函数式组件化”吧,不然我们会在所谓的“传统UI框架”和“函数式界面开发”之间出现一个Gap,岂不是又要造个词给填上,多累……
我前面说会有一个Gap,这个Gap很可能就是我们现在想用“组件化”这个定义去表达的一些点,我想在此做一些个人的见解
我将之理解为以下几要素:

组件是对逻辑的封装,不限于图形元素。即我们可以把if做成组件、把一个倒计时做成组件、把一段动画做成组件、把路由做成组件、把数据架构做成组件,而这些并不能称为控件
组件具备单个可移植性,即“随加载随用”,不需要为其准备复杂的基础条件(如引入样式、引入框架等)。然而这一点现有那些所谓组件库做得并不好,技术上也不大现实
组件是声明式定义的,而非命令式。这个不想多说,很大程度上是自己主观的一个想法
而上面最重要的就是第一点,所以要问我什么是“组件化开发”,我的说法是:

把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式

这与传统开发框架的最大区别就是统一了图形元素与非图形元素,除此之外我再想不出其它真正体现区别的点了
在这个概念下,包括router、ajax、mole loader、timer、animation、interval等,都是组件,共享统一的生命周期管理和对外接口,且都是声明式地进行组合
我的一位同事告诉我去年的深JS上,有位淘宝的朋友的话题叫做“前端组件服务化”,这里面提的那些个概念,是很符合我对“组件化”的认识的,他要是不给再强安个“服务化”的噱头就好了- -
不过话说回来,在这个要求之下,组件其实不是那么好进行抽象设计的,随便说几个例子,有难的也有简单的:

非图形元素的各种需求如何统一接口,如timer和ajax
组件可以横向组件,但是纵向复用如何解决,如希望任何图形元素都可以实现被鼠标拖拽的效果,则鼠标拖拽应该也是个组件,这个组件与其它组件的关系是什么
有些组件对其可被组合的组件是有要求的,比如HTML里就不大好意思把一个<p>放进一个<span>里,这一点如何在组件上表达(实现不难,表达比较难)
一些我们原本想当然认为纯的小函数的东西,是不是也能当组件玩,比如underscore.pick要不要也是个组件

❾ 与新手分享为什么要学习.NET

为什么微软设计和发布 .NET? 相信大多数人都会认为微软推出 .NET 是为了与 JAVA 正面竞争,不可否认这是原因之一,但是如果你回顾 Windows 下微软技术的发展历史,你就会发现,几经岁月的微软技术已经显得越来越壅肿 , 无论在易用性、开发效率和安全性上都积累了诸多诟病,很多技术都是在需求的驱动下诞生的,都缺乏整体规划,微软迫切地需要对其所有的技术进行一次重构,现在就让我们一起回顾一下微软技术的发展历史,来认识 .NET 技术诞生的必要性:

在 .NET 之前, Windows 平台下的编程技术主要是 Win32 SDK, ASP,COM, DCOM, ADO 等技术,这些技术在后来也有了一个统一的名字叫 Windows DNA ,和 .NET 是一系列技术的集合一样, Windows DNA 是这些一系列技术的统称,为了加快软件开发,微软为 C++ 程序员提供了 VC/MFC 开发工具,为 Basic 程序员 提供了 VB 等,由于语言本身存在的先天差异 ( 例如数据类型不相同,内存管理也不同等等 ) ,微软没有办法做到 VB 和 VC 程序引用同一套类库,所以微软为每一种语言都提供其单独的 Runtime 类库、单独的数据库类,不同的 GUI 构建方式等。由于类库的大部分功能都基本相同,因此,为不同的语言设计和维护不同的类库是一件很没有效率的事情。(后注: .NET 是所有 的 .NET 语言都引用同一套 .NET Framework )

值得一提的是, Borland 公司的 C++ Builder 与 Delphi 共同使用的是同一套类库,这个类库就是 VCL ,为什么 Borland 做到两个不同的语言引用同一套类库呢? 因为 Borland 拥有 Pascal, Borland 通过修改编译器来修改 Pascal 语言使得它在数据类型和内存管理方面与 C++ 相拟,使得用这两种语言编译出来的程序能二进制兼容。虽然微软拥有 Basic, 但是 Basic 的先天优势是易学易用,微软无意去修改 Basic 使得 Basic 变得复杂。

微软使用 COM 来解决语言间的组件重用问题,并提出组件编程模型的概念, COM 的基本原理是通过定义一些编程契约,使得按照这些契约编写出来的组件 ( 以 dll/exe 的形式存在 ) 可以跨语言和跨平台地进行重用。

在 COM 推出之前,微软和 Borland 在开发工具的战场上斗得你死我活,而微软凭靠着 OLE 技术赢得了重要的一役胜利,微软在 OLE 的基础上创造了 COM 技术,并大幅地使用 COM 技术来构建 Windows 下的软件组件,其中, ADO 就是一个常用 COM 组件,不同的编程语言都可以调用 ADO 来访问和操 作数据库,因此, ASP 程序员会惊呀地发现,他用 ADO 编写的访问数据库的代码看起来与 VC 程序员访问数据库的代码是如此的相拟。

通过对微软技术历史的分析,可以发现 COM 的产生是一个偶然,当时微软为了对搞 Apple 的文件技术,从而推出 OLE(Object Linking and Embedding ,对象连接与嵌入 ) , OLE 的目的是让文件可以即时编辑,例如 Word 文档可以嵌到 Excel 中编辑, Excel 表格也可以嵌到 Word 中编辑, OLE 的成功使得微软察觉到跨语言组件重用的重要性,于是微软从 OLE 中抽取出一些重要的特性,并实现了 COM ,然后再用 COM 重写了 OLE 组件,所以可以说, COM 是在缺乏整体规划的情况下设计出来的,加上 OLE 庞大和复杂(当年 Borland 与微软的开发工具大战, Borland 在 OLE 上面吃了大亏),再加上随着需求的不断增加和修补, COM 并不易用,但这并不防止 COM 组件的成功,在 .NET 之前, COM 已经成为 Windows 下重要的组件编程技术,很多重要的组件 ( 如 ADO, ActiveX 组件 ) 等都是基于 COM 技术开发的,当时业界较流行的做法是 VC 程序员编写 COM 组件,然后由 VB 程序员或 ASP 程序员来将 COM 组件组装成提供给最终用户的软件产品, .NET 之前, COM 就是这样很好地解决了多种语言之间的组件重用问题。

以 Win32 SDK, COM 技术基础组成的 Windows DNA 技术经历了整个 90 年代的发展,期间根据市场需求不断的修修补补,已经非常壅肿,且积累了诸多诟病,某些技术过于复杂,开发效率低等,这些问题都成为了设计 .NET 的背景,下面我试图罗列出一些主要需要改进的地方 ( 列个大概,肯定不全,希望大家帮忙补充 ) :

1) COM 并不支持面向对象的诸多特性,例如不支持接口、继承等,在面向对象流行的今天已显得非常落后,目前大部分的生产力工具都是以面向对象为基础的(例如 UML 建模工具)。
2) 编写 COM 组件对于新手来说比较复杂,必须要遵守一些较为繁琐的规则,安装和部署需要修改注册表,不便于测试和部署。
3) COM 组件基于 exe/dll 的形式存在,而 dll 是 Windows 下重要的组件存在形式,但是 dll 也成了 Windows 下软件不稳定的罪魁祸首,原因 是大部分主要的 dll 都存放在一个统一的目录: Windows/System32 ,当安装一个新软件或者升级软件到新版本时,新的 dll 会覆盖旧的 dll 文件,从而可能会导致现有的软件无法工作或者不稳定,这是大名鼎 鼎 的Dll Hell (Dll 地狱 ).
4) COM 组件虽然可以跨语言进行调用,但是没有办法进行跨语言调试,例如在 VB 中调用 VC 编写的 COM 组件时,这个组件不能在 VB 中调试,造成软件调试困难。
5) 安全性方面,软件没有办法知道自已所引用的组件是否已被非法修改,安全控制也只停留在用户级别的控制上,没有办法做到代码级别上的安全控制,例如没有办法做到限制某个组件只能读取文件内容,但不能将内容写入文件。

随着信息化的需求不断演进,以及 JAVA 的流行,以及云计算等一些概念的提出,微软迫切需要修改自身的技术来适合市场的需求,显然,微软有两种解决方案:

1) 继续对 Windows DNA 的相关技术进行修修补补,在上面增加新功能,改进并修复错误。
2) 重新规划一套新技术,解决现有技术存在的问题。

微软选择了第 2 种方案,即重新规划一套新技术,在微软内部,新技术作为 COM 的更新版本被命名为 COM 2.0 (来源于 <<.NET 本质论 >> 一书),后来才改名为 CLR, 和 Windows DNA 以 COM 技术为基础一样, .NET 以 CLR为基础 ,而 CLR 显然可以看作是经过重构的、新版本的 COM ,只是新版本的 COM 比它的旧版本增强太大从而使 得它应该换个名字。微软用 .NET 这个名字来代替 Windows DNA ,来表示一系列新技术的统称 ( 其实就是一个商标 ) ,至于为什么使用 .NET 这个名字, NET 是网络的意思,微软使用 .NET 这个名字是预见未来将是网络应用、分布式计算的天下,而微软,已经做好了准备。

.NET 设计的首要目标,就是要解决旧技术中的诸多问题,针对上面对旧技术需要改进的一些问题,我们再回头来看看 .NET 是如何改进这些问题的:

1) 引入中间语言技术,程序在编译后产出中间语言而不是机器码,在中间语言这一层直接支持面向对象技术,并定义常用数据类型,最大限度地缩短不同编程语言之间 的差异,使得不同编程语言编写的代码可以无缝集成起来,例如 VB 编写的类可以在 C# 中继承、创建实例等等,这在以前是无法想象的。

2) 引用程序集的概念来解决 dll 地狱问题,安装新程序集不需要修改注册表,部署简单,不同的程序集版本可以同时存在,有趣的是,这个特性使得微软在推 出 .NET 新版本时,不用头痛去考虑旧 .NET 程序的兼容 (.NET 程序员也因为这个原因而对微软抱有不满 ) ,因为 .NET 的新旧类库可以相互共存,因此你的程序可以引用旧版本的 .NET 类库中的一部分,同时还可以引用新版 本 .NET 类库的另一部分,当然,这样的话,最终用户需要同时安装两个版本的 .NET Framework 。
3) 引入 Click One 技术使软件的安装和更新更简便 。
4) 支持代码级的安全控制。
5) 中间语言技术使得跨平台成为可能,目前 MONE 项目已使得 .NET 程序可以运行在 Linux 下,甚至 iPhone 手机上。

总之, .NET 技术是微软技术一次全面的重构,所以要在 Windows 下进行程序开发,学习 .NET 是大势所趋,虽然旧的技术 (COM/MFC 等 ) 还将存活一段时间,但微软保留这些技术更多是为了兼容旧的程序, Windows 下要使用新的技术和新的功能,首选还是 .NET

❿ 面向组件编程是什么

所有的软件技术和思想的出现都是为了解决所在的那个年代软件开发的复杂性,对象技术和组件技术也不例外。当然还有很多其它技术,像DBC(契约式编程)、AOP、MDA等,这些思想都在影响我们设计/实现程序的方式,但无可否认的是,当今最主流的编程技术是对象技术和组件技术。 面向对象技术已经成熟的发展将近20年了,关于这方面的经典书籍和论文也随处可见。为了解决更大的系统的复杂度,组件技术应运而生,在windows平台上,组件从最初的动态链接库到COM,在到现在的中间件、.NET,就是组件思想走过的轨迹。
面向对象技术的基础是封装--接口与实现分离,面向对象的核心是多态--这是接口和实现分离的更高级升华,使得在运行时可以动态根据条件来选择隐藏在接口后面的实现,面向对象的表现形式是类和继承。面向对象的主要目标是使系统对象化,良好的对象化的结果,就是系统的各部分更加清晰化,耦合度大大降低。

面向组件技术建立在对象技术之上,它是对象技术的进一步发展,类这个概念仍然是组件技术中一个基础的概念,但是组件技术更核心的概念是接口。组件技术的主要目标是复用--粗粒度的复用,这不是类的复用,而是组件的复用,如一个dll、一个中间件,甚至一个框架。一个组件可以有一个类或多个类及其它元素(枚举、)组成,但是组件有个很明显的特征,就是它是一个独立的物理单元,经常以非源码的形式(如二进制,IL)存在。一个完整的组件中一般有一个主类,而其它的类和元素都是为了支持该主类的功能实现而存在的。为了支持这种物理独立性和粗粒度的复用,组件需要更高级的概念支撑,其中最基本的就是属性和事件,在对象的技术中曾一度困扰我们的类之间的相互依赖问题/消息传递问题,迄今为止我所知道最好的解决方案就是事件。要理解组件思想,首先要理解事件的思想和机制。

我一直坚持以为,一个组件的外形/外貌应该是简单的、应该是清晰的、没有冗余的东西、也没有无关紧要的东西,这个外貌通过接口来描述,接口中可以发布事件、属性和方法。这三种元素就足以描述一个组件外貌的所有特征。比如,我曾经用封装的一个完成端口组件,其外貌接口中只有四个方法,三个事件,三个属性而已,而该组件的内部实现却有几千行代码。所以在设计一个组件的时候,需要做很多的权衡,哪些需要通过接口暴露出来,哪些应当作为私有实现。有时,你会处于两难的境地,因为让组件更容易使用,所以需要给出很多默认的参数,但为了使该组件更通用,你又需要暴露更多的属性可以让人设定、暴露更多的方法和事件满足更复杂的功能。你需要抉择,你需要权衡。难怪有人会说,软件的设计更像是艺术,因为艺术的美在于恰当的抉择和平衡。我的经验是,在保持低耦合度的前提下,组件的接口足以对付当前的应用就好。如果日后需要加强功能,那就重构然后增强它,这是很容易的,因为早就说了嘛,保持组件的低耦合度。

需要说明一下的是,我们通常所说的控件(如按钮)也是一种组件,可以这么认为,控件是一种具有UI形式的组件。插件(Addin/Plugin)也是一种特殊的组件,插件的单独存在是没有意义的,它是由兼容该插件协议的框架所使用。

最后强调一点,组件的目标是粗粒度的复用,组件的核心是接口。

阅读全文

与组件编程技术相关的资料

热点内容
红塔银行app怎么样 浏览:562
农行app怎么开网银 浏览:649
java迭代器遍历 浏览:301
闽政通无法请求服务器是什么 浏览:48
怎么做积木解压神器 浏览:203
王者荣耀解压玩具抽奖 浏览:49
12位是由啥加密的 浏览:868
程序员编迷你世界代码 浏览:895
php取现在时间 浏览:246
单片机高吸收 浏览:427
怎么区分五代头是不是加密喷头 浏览:244
hunt测试服务器是什么意思 浏览:510
2013程序员考试 浏览:641
毕业论文是pdf 浏览:736
服务器跑网心云划算吗 浏览:471
单片机定时器计数初值的计算公式 浏览:801
win7控制台命令 浏览:567
猫咪成年app怎么升级 浏览:692
360有没有加密软件 浏览:315
清除cisco交换机配置命令 浏览:751