CSharp make plugin(Addin) program C# 編寫基於外掛程式的程式

來源:互聯網
上載者:User

   為了使軟體具有更好的可重用性和可擴充性,提出了外掛程式(Plug-in)的思想並,國外一些優秀的都是基於此寫的.ie,firefox,eclipse等等...具體理論知識我也不多說了,從網上摘了兩段.....

 

In computing, a plug-in
(also: plugin
, addin
, add-in
, addon
, add-on
, snap-in
or snapin
; but see also extension
) consists of a computer program that interacts with a host application (a web browser or an email client
, for example) to provide a certain, usually very specific, function "on demand". Often, add-on
is considered the general term comprising plugins, extensions, and themes as subcategories[citation needed
]
.

Applications support plugins for many reasons. Some of the main reasons include:

  • to enable third-party developers
    to create capabilities to extend an application
  • to support features yet unforeseen
  • to reduce the size of an application
  • to separate source code from an application because of incompatible software licenses.

Examples of applications and their plug-ins include:

  • Microsoft Office uses plug-ins (better known as add-ins) to extend the capabilities of its application by adding custom commands and specialized features
  • Rockbox, a firmware for digital audio players, can use plug-ins, for example: play games, use the text editor
  • Email clients
    use plug-ins to decrypt and encrypt email (Pretty Good Privacy) or to send oversized email attachments (Globalscape Mail Express
    )
  • Graphics software use plug-ins to support file formats and process images (Adobe Photoshop)
  • Media players
    use plug-ins to support file formats and apply filters (foobar2000, GStreamer, Quintessential
    , VST, Winamp, XMMS)
  • Packet sniffers
    use plug-ins to decode packet formats (OmniPeek)
  • Remote sensing applications use plug-ins to process data from different sensor types (Opticks
    )
  • Software development environments use plug-ins to support programming languages
    (Eclipse
    , jEdit, MonoDevelop)
  • Web browsers use plug-ins to play video and presentation formats (Flash, QuickTime, Microsoft Silverlight, 3DMLW)
  • Some digital mixing consoles allow plug-ins to extend features such as reverberation effects, equalization and compression.
  • Some Web content management systems use plug-ins to increase functionality.

基本原理:

The host application provides services which the plug-in can use,
including a way for plug-ins to register themselves with the host
application and a protocol
for the exchange of data with plug-ins. Plug-ins depend on the services
provided by the host application and do not usually work by themselves.
Conversely, the host application operates independently of the
plug-ins, making it possible for end-users to add and update plug-ins
dynamically without needing to make changes to the host application.

Open application programming interfaces
(APIs) provide a standard interface, allowing third parties to create
plug-ins that interact with the host application. A stable API allows
third-party plug-ins to continue to function as the original version
changes and to extend the life-cycle of obsolete applications. The Adobe Photoshop and After Effects plug-in APIs have become a standard[citation needed
]
and competing applications such as Corel Paint Shop Pro have adopted them to some extent. Other examples of such APIs include Audio Units and VST.

Games and productivity applications often use plug-in architectures
which allow original and third-party publishers to add functionality.

The Microsoft Flight Simulator series has become well-known for its aircraft add-ons.

Outside software, a network switch may ship with an unoccupied but non-standard port to accommodate various optional physical-layer connectors.

Outside software again, manufacturers can use plug-ins to create vendor lock-in by limiting upgrade options solely to those available from or endorsed by the original manufacturer. IBM's Micro Channel Architecture
, technically superior to Industry Standard Architecture
as a way to add components to IBM PCs, largely failed to gain wide
support due to the difficulty in getting certification for third-party
devices.

 

上面這邊原文的串連地址為:http://en.wikipedia.org/wiki/Plug-in_%28computing%29#Plug-ins_and_extensions

csdn裡有有一篇介紹外掛程式實現的bolog:http://blog.csdn.net/stella_tangxing/archive/2005/04/28/366850.aspx

 

在我的資源裡有一個我用CSharp寫的一個簡單的程式,闡述了外掛程式的具體實現.....或者郵件告我我發給你們...請您多多指教.....

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.