コンポーネント
【英】component, Software Componentry, Component-Based Development, CBD, Component-based software engineering, CBSE
コンポーネントとは、ある機能を実現するために部品化されたソフトウェアのことである。
コンポーネントは、明確なインターフェースを装備した再利用可能なソフトウェア部品を指し、オブジェクト指向が得意とする分割統治と関心事の分離、集合オブジェクトで一つの機能を実現するといった概念が最大限に生かされている。
コンポーネントには、実装部品とサービス部品の二つの見方があり、前者は、GUI部品やEJBなどのプログラムに組み合わせて使うものを指し、後者は、業務機能やWebサービスなど必ずしも実装の実体とは限らないビジネスプロセスの処理単位を指す。
なお、ビジネスプロセスの処理単位をビジネスコンポーネントと呼び、コンポーネントソリューションの要を握っており、サービス指向アーキテクチャ(SOA)を実現するための単位として捉えられている。
ソフトウェアコンポーネント
(ソフトウェア部品 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/11/24 02:50 UTC 版)
ソフトウェアコンポーネント(英: software component / software componentry)は、ソフトウェアシステムの様々な機能を関心の分離によって分割したものである。システムを独立した結合の弱い再利用可能なコンポーネント(部品)群で構成する設計技法は Component-Based Software Engineering (CBSE) と呼ばれ、ソフトウェア工学の一分野となっている。
- ^ McIlroy, Malcolm Douglas (1969年1月). “Mass produced software components”. Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7-11 Oct. 1968. Scientific Affairs Division, NATO. p. 79. 2013年4月5日閲覧。
- ^ Rainer Niekamp. “Software Component Architecture”. Gestión de Congresos - CIMNE/Institute for Scientific Computing, TU Braunschweig. p. 4. 2011年7月29日閲覧。 “The modern concept of a software component largely defined by Brad Cox of Stepstone, => Objective-C programming language”
- ^ Raphael Gfeller (2008年12月9日). “Upgrading of component-based application”. HSR - Hochschule für Technik Rapperswill. p. 4. 2011年7月29日閲覧。 “1990, IBM invents their System Object Model. 1990, as a reaction, Microsoft released OLE 1.0 OLE custom controls (OCX)”
- ^ Foukalas et al "Protocol Reconfiguration Using Component-Based Design"
- ^ Wallace, Bruce (2010年5月19日). “A hole for every component, and every component in its hole”. Existential Programming. 2013年4月5日閲覧。 “There is no such thing as a Component”
- ^ 「コンポーネントベース 自分自身の状態を管理するカプセル化されたコンポーネントをまず作成し」 React 2021-03-02閲覧
- ^ 「コンポーネント...は...DOM に状態を持たせないようにすることができます。」React 2021-03-02閲覧
- ^ 「小さく、自己完結的で、(多くの場合)再利用可能なコンポーネント」Vue.js - コンポーネントによる構成
- ^ 「コンポーネントベース ... これらを組み合わせることで複雑なユーザインターフェイスを構築します。」 React 2021-03-02閲覧
- ^ 「ほぼすべてのタイプのアプリケーションインターフェイスは、コンポーネントツリーとして抽象化できます。」Vue.js - コンポーネントによる構成
- ^ Donald E. Knuth (1983年9月). “Literate Programming”. Literate Programming/The Computer Journal. p. 15. 2011年7月29日閲覧。 “Thus, WEB may be only for the subset of computer scientists who like to write and to explain what they are doing. My hope is that the ability to make explanations more natural will cause more programmers to discover the joys of literate programming, because I believe it’s quite a pleasure to combine verbal and mathematical skills; but perhaps I’m hoping for too much. The fact that at least one paper has been written that is a syntactically correct ALGOL 68 program22 encourages me to persevere in my hopes for the future. Perhaps we will even one day find Pulitzer prizes awarded to computer programs.”
- ^ “Dijkstra, Wybe Edsger”. Encyclopedia.com (2011年7月29日). 2013年4月5日閲覧。 “In his view, the key to a good computing science program was to consider it as a branch of mathematics.”
- 1 ソフトウェアコンポーネントとは
- 2 ソフトウェアコンポーネントの概要
- 3 例
- 4 モデル
- 5 関連項目
- ソフトウェア部品のページへのリンク