框架也是一種重用方式,重用粒度比構件大,與物件導向技術關係密切。
1定義:
框架johnson:框架=模式+構件。框架是由開發人員定製的應用系統的骨架(skeleton),是整個系統或子系統的可重用設計,由一組抽象構件和構件例項間的互動方式組成。
應用框架:
buschmann:特定領域應用的框架。
框架技術:
反向控制:類庫是客戶**呼叫庫中以存在類的方法,框架內嵌了控制流,框架呼叫客戶**--加入框架的新構件和抽象類的方法例項。
可重用性
擴充套件性:熱點(hotspot),鉤子(hook)
模組化或構件化
2應用框架技術
框架分為兩類:黑盒框架、白盒框架。
黑盒框架:通過構件/類的組合來支援重用和擴充套件。應用中的類由框架的不同構件組合而成。在框架所在領域,每個構件都有乙個預定義的標準介面,一組共享相同介面但能滿足不同應用需求的構件組成乙個「插接相容」的構件集合。
白盒框架:使用類的繼承機制實現,由未完成的類組成,類有乙個或多個抽象介面或虛方法。通過在抽象類的繼承子類中提供特定意義的方法例項來重用框架。通過將虛方法的實力化將特定應用的**聯入框架來生成應用,所以虛方法又被稱為「鉤子」或「熱點」。
具體的框架實際是灰色的,即黑盒和白盒的結合,也即組合和整合的集合。灰色框架分為三部分:固定的、可選擇的、開發的。
固定部分:包含最基本的功能,是共用的部分。
可選擇部分:相當固定的,應用特定的功能特徵,用可組合的類或構件實現。
開發部分:無法準確估計和**的功能部分,只能為其提供統一的介面和與框架的接掛點,用繼承抽象類的方式實現。
Envisaged python 應用框架
envisagedpython 應用框架 主頁 以前看newedit ulipad,發現它的可擴充套件性也挺強的,它的基本思想就是mixin,而看見peppy 2 這個繼承emacs思想的編輯 器就更引發我想 有沒有採用python實現的 類似於eclipse的專案 平台。然後找到乙個叫做envis...
flask應用框架
flask是乙個用python編寫的web應用程式微型框架,基於werkzeug wsgi工具包和jinja2模板引擎。werkzeug是乙個wsgi web server gateway inte ce,web伺服器閘道器介面wsgi 工具包,實現了請求 響應物件等,用於構建web框架。jinja...
Scrapy框架應用
引擎 egine 引擎負責控制系統所有元件之間的資料流,並在某些動作發生時觸發事件。排程器 scheduler 用來接受引擎發過來的請求,壓入佇列中,並在引擎再次請求的時候返回.可以想像成乙個url的優先順序佇列,由它來決定下乙個要抓取的 是什麼,同時去除重複的 爬蟲 spiders spiders...