版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式軟件設(shè)計(jì)模式手冊(cè)嵌入式軟件設(shè)計(jì)模式手冊(cè)
一、概述
嵌入式軟件設(shè)計(jì)模式是針對(duì)嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中常見(jiàn)問(wèn)題的解決方案,旨在提高代碼的可維護(hù)性、可擴(kuò)展性和可靠性。本手冊(cè)將介紹幾種常用的嵌入式軟件設(shè)計(jì)模式,并提供實(shí)際應(yīng)用指導(dǎo)。
嵌入式系統(tǒng)通常具有資源受限、實(shí)時(shí)性要求高等特點(diǎn),因此設(shè)計(jì)模式的選擇和應(yīng)用尤為重要。通過(guò)合理運(yùn)用設(shè)計(jì)模式,可以有效解決資源分配、任務(wù)調(diào)度、模塊間通信等問(wèn)題。
二、常用設(shè)計(jì)模式
(一)單例模式
單例模式確保一個(gè)類(lèi)只有一個(gè)實(shí)例,并提供一個(gè)全局訪問(wèn)點(diǎn)。
(1)應(yīng)用場(chǎng)景
-系統(tǒng)配置管理
-設(shè)備驅(qū)動(dòng)管理
-資源池管理
(2)實(shí)現(xiàn)步驟
1.將構(gòu)造函數(shù)聲明為私有,防止外部直接創(chuàng)建實(shí)例
2.創(chuàng)建一個(gè)靜態(tài)方法,用于返回唯一實(shí)例
3.在靜態(tài)方法中實(shí)現(xiàn)實(shí)例的懶加載
(3)示例代碼
typedefstruct{
//靜態(tài)變量存儲(chǔ)實(shí)例
statictypeof(this)instance;
//其他成員變量
intvalue;
}MyClass;
MyClassMyClass::instance=NULL;
MyClassMyClass::getInstance(){
if(instance==NULL){
instance=newMyClass();
}
returninstance;
}
(二)觀察者模式
觀察者模式定義了對(duì)象間的一對(duì)多依賴(lài)關(guān)系,當(dāng)一個(gè)對(duì)象狀態(tài)改變時(shí),所有依賴(lài)它的對(duì)象都會(huì)收到通知并自動(dòng)更新。
(1)應(yīng)用場(chǎng)景
-事件處理系統(tǒng)
-數(shù)據(jù)監(jiān)控應(yīng)用
-設(shè)備狀態(tài)通知
(2)實(shí)現(xiàn)步驟
1.創(chuàng)建主題(Subject)接口,包含注冊(cè)、移除、通知觀察者等方法
2.創(chuàng)建觀察者(Observer)接口,包含更新方法
3.主題存儲(chǔ)觀察者列表,實(shí)現(xiàn)通知機(jī)制
(3)示例代碼
//觀察者接口
typedefvoid(ObserverCallback)(voidcontext);
//觀察者結(jié)構(gòu)
typedefstruct{
ObserverCallbackcallback;
voidcontext;
}Observer;
//主題接口
typedefstruct{
Observerobservers;
intobserver_count;
voidcontext;
}Subject;
voidSubjectRegister(Subjectsubject,Observerobserver){
//注冊(cè)觀察者
}
voidSubjectNotify(Subjectsubject){
//通知所有觀察者
}
(三)工廠模式
工廠模式定義一個(gè)創(chuàng)建對(duì)象的接口,讓子類(lèi)決定實(shí)例化哪一個(gè)類(lèi)。
(1)應(yīng)用場(chǎng)景
-設(shè)備驅(qū)動(dòng)管理
-數(shù)據(jù)格式轉(zhuǎn)換
-資源對(duì)象創(chuàng)建
(2)實(shí)現(xiàn)步驟
1.創(chuàng)建產(chǎn)品(Product)接口或抽象類(lèi)
2.創(chuàng)建具體產(chǎn)品類(lèi)實(shí)現(xiàn)產(chǎn)品接口
3.創(chuàng)建工廠(Factory)類(lèi),包含創(chuàng)建產(chǎn)品的靜態(tài)方法
(3)示例代碼
//產(chǎn)品接口
typedefstruct{
void(initialize)(void);
void(terminate)(void);
}Product;
//具體產(chǎn)品
typedefstruct{
Productbase;
//其他成員
}ConcreteProduct;
//工廠方法
ProductCreateProduct(){
ConcreteProductproduct=newConcreteProduct();
product->base.initialize=ConcreteProductInitialize;
product->base.terminate=ConcreteProductTerminate;
return&product->base;
}
voidConcreteProductInitialize(){
//初始化代碼
}
(四)適配器模式
適配器模式將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)希望的另一個(gè)接口。
(1)應(yīng)用場(chǎng)景
-老舊設(shè)備接口兼容
-第三方庫(kù)集成
-數(shù)據(jù)格式轉(zhuǎn)換
(2)實(shí)現(xiàn)步驟
1.創(chuàng)建目標(biāo)(Target)接口
2.創(chuàng)建適配器(Adapter)類(lèi)實(shí)現(xiàn)目標(biāo)接口
3.適配器內(nèi)部包含被適配(Adaptee)對(duì)象,實(shí)現(xiàn)接口轉(zhuǎn)換
(3)示例代碼
//目標(biāo)接口
typedefstruct{
void(operation)(void);
}Target;
//被適配類(lèi)
typedefstruct{
void(specificOperation)(void);
}Adaptee;
//適配器
typedefstruct{
Targettarget;
Adapteeadaptee;
}Adapter;
voidAdapterOperation(){
//調(diào)用被適配類(lèi)方法
adaptee.specificOperation();
}
三、設(shè)計(jì)模式應(yīng)用建議
(一)選擇合適的設(shè)計(jì)模式
根據(jù)具體應(yīng)用場(chǎng)景選擇最合適的設(shè)計(jì)模式,避免過(guò)度設(shè)計(jì)。例如:
-對(duì)于需要全局訪問(wèn)的對(duì)象,單例模式是最佳選擇
-對(duì)于事件驅(qū)動(dòng)系統(tǒng),觀察者模式更為合適
-當(dāng)需要整合不同接口時(shí),適配器模式更為有效
(二)保持模式簡(jiǎn)潔
嵌入式系統(tǒng)資源有限,設(shè)計(jì)模式實(shí)現(xiàn)應(yīng)盡可能簡(jiǎn)潔,避免增加不必要的開(kāi)銷(xiāo)。例如:
-單例模式應(yīng)使用懶加載方式
-觀察者模式的通知機(jī)制應(yīng)高效
-工廠方法應(yīng)避免復(fù)雜的創(chuàng)建邏輯
(三)文檔化設(shè)計(jì)決策
對(duì)所有設(shè)計(jì)模式的應(yīng)用進(jìn)行文檔化,記錄設(shè)計(jì)理由和實(shí)現(xiàn)細(xì)節(jié),便于后續(xù)維護(hù)。建議包括:
-模式應(yīng)用場(chǎng)景描述
-類(lèi)圖關(guān)系說(shuō)明
-關(guān)鍵代碼解釋
-性能分析數(shù)據(jù)
(四)測(cè)試驗(yàn)證
對(duì)所有設(shè)計(jì)模式的應(yīng)用進(jìn)行充分測(cè)試,確保其滿(mǎn)足系統(tǒng)需求。測(cè)試內(nèi)容應(yīng)包括:
-功能測(cè)試
-性能測(cè)試
-資源占用測(cè)試
-實(shí)時(shí)性測(cè)試
三、設(shè)計(jì)模式應(yīng)用建議(續(xù))
(五)模式組合使用
在實(shí)際項(xiàng)目中,單一設(shè)計(jì)模式往往無(wú)法完全解決問(wèn)題,需要將多個(gè)設(shè)計(jì)模式組合使用。例如:
1.單例模式+工廠模式:系統(tǒng)中的核心資源管理器(如內(nèi)存池)使用單例模式確保全局唯一,而資源對(duì)象的創(chuàng)建通過(guò)工廠模式進(jìn)行管理。
-步驟:
(1)定義資源管理器單例類(lèi),包含資源池?cái)?shù)據(jù)結(jié)構(gòu)。
(2)在單例類(lèi)中實(shí)現(xiàn)工廠方法,負(fù)責(zé)創(chuàng)建和管理資源對(duì)象。
(3)提供全局訪問(wèn)點(diǎn)獲取單例實(shí)例,通過(guò)工廠方法創(chuàng)建資源。
2.觀察者模式+適配器模式:當(dāng)系統(tǒng)需要監(jiān)控外部設(shè)備狀態(tài),并將狀態(tài)變化通知到系統(tǒng)內(nèi)部模塊時(shí),可以組合使用這兩種模式。
-步驟:
(1)定義設(shè)備狀態(tài)通知接口(目標(biāo)接口)。
(2)外部設(shè)備實(shí)現(xiàn)該接口(適配器)。
(3)系統(tǒng)內(nèi)部模塊作為觀察者注冊(cè)到通知接口。
(4)設(shè)備狀態(tài)變化時(shí),通過(guò)通知接口觸發(fā)觀察者更新。
(六)考慮實(shí)時(shí)性要求
嵌入式系統(tǒng)通常具有實(shí)時(shí)性要求,設(shè)計(jì)模式的選擇和應(yīng)用需要考慮實(shí)時(shí)性因素:
1.最小化上下文切換:避免頻繁的觀察者通知導(dǎo)致上下文切換,可以采用批處理通知方式。
-方法:
(1)觀察者注冊(cè)時(shí)指定優(yōu)先級(jí)。
(2)主題按優(yōu)先級(jí)合并通知事件。
(3)觀察者接收合并后的事件序列。
2.預(yù)分配資源:對(duì)于需要?jiǎng)討B(tài)創(chuàng)建的對(duì)象,應(yīng)預(yù)先分配資源并緩存,避免運(yùn)行時(shí)分配導(dǎo)致延遲。
-步驟:
(1)根據(jù)系統(tǒng)負(fù)載估算對(duì)象數(shù)量。
(2)在系統(tǒng)初始化時(shí)預(yù)創(chuàng)建對(duì)象并存儲(chǔ)到對(duì)象池。
(3)需要時(shí)從對(duì)象池獲取,使用完畢后返回池中。
(七)設(shè)計(jì)模式的權(quán)衡
每種設(shè)計(jì)模式都有其優(yōu)缺點(diǎn),應(yīng)用時(shí)需要權(quán)衡:
1.單例模式的權(quán)衡:
-優(yōu)點(diǎn):確保全局唯一訪問(wèn)點(diǎn),方便資源管理。
-缺點(diǎn):可能導(dǎo)致資源競(jìng)爭(zhēng),不適合多線程環(huán)境。
-解決方案:使用線程安全的單例實(shí)現(xiàn),如雙重檢查鎖定。
2.觀察者模式的權(quán)衡:
-優(yōu)點(diǎn):解耦主題和觀察者,易于擴(kuò)展。
-缺點(diǎn):可能導(dǎo)致事件風(fēng)暴,需要合理控制通知范圍。
-解決方案:實(shí)現(xiàn)事件過(guò)濾機(jī)制,限制通知的觀察者數(shù)量。
(八)嵌入式特定考慮
嵌入式系統(tǒng)開(kāi)發(fā)需要考慮硬件資源限制,設(shè)計(jì)模式應(yīng)用時(shí)應(yīng)注意:
1.內(nèi)存管理:
-使用對(duì)象池模式管理內(nèi)存分配,減少內(nèi)存碎片。
-避免動(dòng)態(tài)內(nèi)存分配,優(yōu)先使用靜態(tài)分配。
2.功耗管理:
-對(duì)于低功耗設(shè)備,觀察者模式應(yīng)實(shí)現(xiàn)休眠機(jī)制。
-使用事件觸發(fā)而非輪詢(xún)方式。
3.硬件交互:
-設(shè)備驅(qū)動(dòng)程序通常使用適配器模式與不同硬件交互。
-驅(qū)動(dòng)程序接口應(yīng)封裝硬件細(xì)節(jié),提供統(tǒng)一的操作接口。
(九)最佳實(shí)踐清單
1.初始化階段:
-單例對(duì)象應(yīng)在系統(tǒng)初始化時(shí)創(chuàng)建和配置
-工廠方法應(yīng)預(yù)先創(chuàng)建常用對(duì)象實(shí)例
-觀察者應(yīng)注冊(cè)到主題前完成初始化
2.運(yùn)行時(shí)管理:
-資源對(duì)象應(yīng)實(shí)現(xiàn)自動(dòng)釋放機(jī)制
-事件通知應(yīng)支持中斷處理
-狀態(tài)變化應(yīng)提供原子操作接口
3.維護(hù)階段:
-設(shè)計(jì)模式應(yīng)用應(yīng)有文檔記錄
-類(lèi)圖應(yīng)清晰展示模式關(guān)系
-代碼應(yīng)添加模式相關(guān)的注釋
4.性能優(yōu)化:
-避免不必要的模式嵌套
-優(yōu)化模式實(shí)現(xiàn)的關(guān)鍵路徑
-使用分析工具評(píng)估模式開(kāi)銷(xiāo)
嵌入式軟件設(shè)計(jì)模式手冊(cè)
一、概述
嵌入式軟件設(shè)計(jì)模式是針對(duì)嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中常見(jiàn)問(wèn)題的解決方案,旨在提高代碼的可維護(hù)性、可擴(kuò)展性和可靠性。本手冊(cè)將介紹幾種常用的嵌入式軟件設(shè)計(jì)模式,并提供實(shí)際應(yīng)用指導(dǎo)。
嵌入式系統(tǒng)通常具有資源受限、實(shí)時(shí)性要求高等特點(diǎn),因此設(shè)計(jì)模式的選擇和應(yīng)用尤為重要。通過(guò)合理運(yùn)用設(shè)計(jì)模式,可以有效解決資源分配、任務(wù)調(diào)度、模塊間通信等問(wèn)題。
二、常用設(shè)計(jì)模式
(一)單例模式
單例模式確保一個(gè)類(lèi)只有一個(gè)實(shí)例,并提供一個(gè)全局訪問(wèn)點(diǎn)。
(1)應(yīng)用場(chǎng)景
-系統(tǒng)配置管理
-設(shè)備驅(qū)動(dòng)管理
-資源池管理
(2)實(shí)現(xiàn)步驟
1.將構(gòu)造函數(shù)聲明為私有,防止外部直接創(chuàng)建實(shí)例
2.創(chuàng)建一個(gè)靜態(tài)方法,用于返回唯一實(shí)例
3.在靜態(tài)方法中實(shí)現(xiàn)實(shí)例的懶加載
(3)示例代碼
typedefstruct{
//靜態(tài)變量存儲(chǔ)實(shí)例
statictypeof(this)instance;
//其他成員變量
intvalue;
}MyClass;
MyClassMyClass::instance=NULL;
MyClassMyClass::getInstance(){
if(instance==NULL){
instance=newMyClass();
}
returninstance;
}
(二)觀察者模式
觀察者模式定義了對(duì)象間的一對(duì)多依賴(lài)關(guān)系,當(dāng)一個(gè)對(duì)象狀態(tài)改變時(shí),所有依賴(lài)它的對(duì)象都會(huì)收到通知并自動(dòng)更新。
(1)應(yīng)用場(chǎng)景
-事件處理系統(tǒng)
-數(shù)據(jù)監(jiān)控應(yīng)用
-設(shè)備狀態(tài)通知
(2)實(shí)現(xiàn)步驟
1.創(chuàng)建主題(Subject)接口,包含注冊(cè)、移除、通知觀察者等方法
2.創(chuàng)建觀察者(Observer)接口,包含更新方法
3.主題存儲(chǔ)觀察者列表,實(shí)現(xiàn)通知機(jī)制
(3)示例代碼
//觀察者接口
typedefvoid(ObserverCallback)(voidcontext);
//觀察者結(jié)構(gòu)
typedefstruct{
ObserverCallbackcallback;
voidcontext;
}Observer;
//主題接口
typedefstruct{
Observerobservers;
intobserver_count;
voidcontext;
}Subject;
voidSubjectRegister(Subjectsubject,Observerobserver){
//注冊(cè)觀察者
}
voidSubjectNotify(Subjectsubject){
//通知所有觀察者
}
(三)工廠模式
工廠模式定義一個(gè)創(chuàng)建對(duì)象的接口,讓子類(lèi)決定實(shí)例化哪一個(gè)類(lèi)。
(1)應(yīng)用場(chǎng)景
-設(shè)備驅(qū)動(dòng)管理
-數(shù)據(jù)格式轉(zhuǎn)換
-資源對(duì)象創(chuàng)建
(2)實(shí)現(xiàn)步驟
1.創(chuàng)建產(chǎn)品(Product)接口或抽象類(lèi)
2.創(chuàng)建具體產(chǎn)品類(lèi)實(shí)現(xiàn)產(chǎn)品接口
3.創(chuàng)建工廠(Factory)類(lèi),包含創(chuàng)建產(chǎn)品的靜態(tài)方法
(3)示例代碼
//產(chǎn)品接口
typedefstruct{
void(initialize)(void);
void(terminate)(void);
}Product;
//具體產(chǎn)品
typedefstruct{
Productbase;
//其他成員
}ConcreteProduct;
//工廠方法
ProductCreateProduct(){
ConcreteProductproduct=newConcreteProduct();
product->base.initialize=ConcreteProductInitialize;
product->base.terminate=ConcreteProductTerminate;
return&product->base;
}
voidConcreteProductInitialize(){
//初始化代碼
}
(四)適配器模式
適配器模式將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)希望的另一個(gè)接口。
(1)應(yīng)用場(chǎng)景
-老舊設(shè)備接口兼容
-第三方庫(kù)集成
-數(shù)據(jù)格式轉(zhuǎn)換
(2)實(shí)現(xiàn)步驟
1.創(chuàng)建目標(biāo)(Target)接口
2.創(chuàng)建適配器(Adapter)類(lèi)實(shí)現(xiàn)目標(biāo)接口
3.適配器內(nèi)部包含被適配(Adaptee)對(duì)象,實(shí)現(xiàn)接口轉(zhuǎn)換
(3)示例代碼
//目標(biāo)接口
typedefstruct{
void(operation)(void);
}Target;
//被適配類(lèi)
typedefstruct{
void(specificOperation)(void);
}Adaptee;
//適配器
typedefstruct{
Targettarget;
Adapteeadaptee;
}Adapter;
voidAdapterOperation(){
//調(diào)用被適配類(lèi)方法
adaptee.specificOperation();
}
三、設(shè)計(jì)模式應(yīng)用建議
(一)選擇合適的設(shè)計(jì)模式
根據(jù)具體應(yīng)用場(chǎng)景選擇最合適的設(shè)計(jì)模式,避免過(guò)度設(shè)計(jì)。例如:
-對(duì)于需要全局訪問(wèn)的對(duì)象,單例模式是最佳選擇
-對(duì)于事件驅(qū)動(dòng)系統(tǒng),觀察者模式更為合適
-當(dāng)需要整合不同接口時(shí),適配器模式更為有效
(二)保持模式簡(jiǎn)潔
嵌入式系統(tǒng)資源有限,設(shè)計(jì)模式實(shí)現(xiàn)應(yīng)盡可能簡(jiǎn)潔,避免增加不必要的開(kāi)銷(xiāo)。例如:
-單例模式應(yīng)使用懶加載方式
-觀察者模式的通知機(jī)制應(yīng)高效
-工廠方法應(yīng)避免復(fù)雜的創(chuàng)建邏輯
(三)文檔化設(shè)計(jì)決策
對(duì)所有設(shè)計(jì)模式的應(yīng)用進(jìn)行文檔化,記錄設(shè)計(jì)理由和實(shí)現(xiàn)細(xì)節(jié),便于后續(xù)維護(hù)。建議包括:
-模式應(yīng)用場(chǎng)景描述
-類(lèi)圖關(guān)系說(shuō)明
-關(guān)鍵代碼解釋
-性能分析數(shù)據(jù)
(四)測(cè)試驗(yàn)證
對(duì)所有設(shè)計(jì)模式的應(yīng)用進(jìn)行充分測(cè)試,確保其滿(mǎn)足系統(tǒng)需求。測(cè)試內(nèi)容應(yīng)包括:
-功能測(cè)試
-性能測(cè)試
-資源占用測(cè)試
-實(shí)時(shí)性測(cè)試
三、設(shè)計(jì)模式應(yīng)用建議(續(xù))
(五)模式組合使用
在實(shí)際項(xiàng)目中,單一設(shè)計(jì)模式往往無(wú)法完全解決問(wèn)題,需要將多個(gè)設(shè)計(jì)模式組合使用。例如:
1.單例模式+工廠模式:系統(tǒng)中的核心資源管理器(如內(nèi)存池)使用單例模式確保全局唯一,而資源對(duì)象的創(chuàng)建通過(guò)工廠模式進(jìn)行管理。
-步驟:
(1)定義資源管理器單例類(lèi),包含資源池?cái)?shù)據(jù)結(jié)構(gòu)。
(2)在單例類(lèi)中實(shí)現(xiàn)工廠方法,負(fù)責(zé)創(chuàng)建和管理資源對(duì)象。
(3)提供全局訪問(wèn)點(diǎn)獲取單例實(shí)例,通過(guò)工廠方法創(chuàng)建資源。
2.觀察者模式+適配器模式:當(dāng)系統(tǒng)需要監(jiān)控外部設(shè)備狀態(tài),并將狀態(tài)變化通知到系統(tǒng)內(nèi)部模塊時(shí),可以組合使用這兩種模式。
-步驟:
(1)定義設(shè)備狀態(tài)通知接口(目標(biāo)接口)。
(2)外部設(shè)備實(shí)現(xiàn)該接口(適配器)。
(3)系統(tǒng)內(nèi)部模塊作為觀察者注冊(cè)到通知接口。
(4)設(shè)備狀態(tài)變化時(shí),通過(guò)通知接口觸發(fā)觀察者更新。
(六)考慮實(shí)時(shí)性要求
嵌入式系統(tǒng)通常具有實(shí)時(shí)性要求,設(shè)計(jì)模式的選擇和應(yīng)用需要考慮實(shí)時(shí)性因素:
1.最小化上下文切換:避免頻繁的觀察者通知導(dǎo)致上下文切換,可以采用批處理通知方式。
-方法:
(1)觀察者注冊(cè)時(shí)指定優(yōu)先級(jí)。
(2)主題按優(yōu)先級(jí)合并通知事件。
(3)觀察者接
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出國(guó)勞務(wù)合同范本
- 出租水泵協(xié)議合同
- 加油使用合同范本
- 加盟快遞協(xié)議合同
- 勞保供銷(xiāo)合同范本
- 勞務(wù)合同股份協(xié)議
- 勞務(wù)股東合同范本
- 勞動(dòng)合同保管協(xié)議
- 泵裝配調(diào)試工變革管理知識(shí)考核試卷含答案
- 有色礦石磨細(xì)工安全知識(shí)評(píng)優(yōu)考核試卷含答案
- 《金屬有機(jī)框架》課件
- 生產(chǎn)輔助外包服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 中國(guó)糖尿病防治指南(2024版)解讀
- 山東省青島市市北區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末考試英語(yǔ)試題(含答案+解析)
- 長(zhǎng)輸管道施工組織設(shè)計(jì)
- 現(xiàn)代管理原理-001-國(guó)開(kāi)機(jī)考復(fù)習(xí)資料
- 醫(yī)療機(jī)構(gòu)醫(yī)保數(shù)據(jù)共享管理制度
- 華南理工大學(xué)《模擬電子技術(shù)Ⅱ》2022-2023學(xué)年第一學(xué)期期末試卷
- 內(nèi)蒙古包頭市青山區(qū)十校2024-2025學(xué)年九年級(jí)上學(xué)期期中質(zhì)量監(jiān)測(cè)道德與法治試題
- 第23課 全民族浴血奮戰(zhàn)與抗日戰(zhàn)爭(zhēng)的勝利 課件-高一上學(xué)期統(tǒng)編版(2019)必修中外歷史綱要上
- 美發(fā)股權(quán)協(xié)議合同模板
評(píng)論
0/150
提交評(píng)論