版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
3.4平臺通用配置深圳市信息職業(yè)技術(shù)學院——驗證規(guī)則配置實現(xiàn)目
錄驗證規(guī)則開發(fā)實現(xiàn)示例01框架驗證規(guī)則實現(xiàn)邏輯介紹02框架驗證規(guī)則實現(xiàn)03經(jīng)驗總結(jié)04知識回顧根據(jù)需求進行主從表功能UML建模;主從表功能的開發(fā)實現(xiàn)步驟;初始菜單配置;運行項目生成數(shù)據(jù)庫表、序列、更新元數(shù)據(jù)和配置菜單;能夠獨立進行主從表功能的問題修復;能夠?qū)δ苓M行擴展,完成一主多從、主從孫關(guān)系的功能開發(fā)實現(xiàn)學習目標通過本節(jié)學習可以:掌握框架驗證規(guī)則包括哪幾種實現(xiàn)方式,不同的實現(xiàn)方式有什么差異?掌握不同驗證規(guī)則的開發(fā)實現(xiàn)步驟;能夠修復驗證規(guī)則開發(fā)過程中的bug。01驗證規(guī)則開發(fā)實現(xiàn)示例思考題通過前面課程的學習,我們知道框架驗證可以在哪里進行配置實現(xiàn)?可以在實體屬性中標記規(guī)則特性,然后進行實體元數(shù)據(jù)的更新。業(yè)務(wù)描述業(yè)務(wù)描述讀者分類增加驗證:
讀者分類被讀者管理引用后,不允許刪除讀者管理增加驗證:1、讀者編號、姓名聯(lián)合驗證唯一2、手機號驗證輸入格式3、已借書數(shù)量不能大于讀者分類中維護的可借書數(shù)量開發(fā)實現(xiàn)-讀者分類被讀者管理引用后不允許刪除實現(xiàn)邏輯:可以用框架的規(guī)則去實現(xiàn),引用后不允許刪除使用框架的引用規(guī)則,需要自己在服務(wù)端建一個規(guī)則類,以Rule進行結(jié)尾,繼承NoReferencedRule進行實現(xiàn),如下圖實現(xiàn):開發(fā)實現(xiàn)開發(fā)實現(xiàn)-讀者管理中讀者編號、姓名聯(lián)合驗證唯一實現(xiàn)邏輯:該驗證的實現(xiàn)可以使用非重復驗證來實現(xiàn),這里以規(guī)則類的方式開發(fā)實現(xiàn):開發(fā)實現(xiàn)開發(fā)實現(xiàn)-讀者管理中手機號輸入格式驗證實現(xiàn)邏輯:該驗證的實現(xiàn)可以使用實體規(guī)則進行驗證,也是需要建一個規(guī)則類進行實現(xiàn):開發(fā)實現(xiàn)開發(fā)實現(xiàn)-已借書數(shù)量不能大于讀者分類中維護的可借書數(shù)量實現(xiàn)邏輯:該驗證的實現(xiàn)也可以通過實體規(guī)則進行驗證。開發(fā)實現(xiàn)注意:以上所有的規(guī)則實現(xiàn)都要進行實體元數(shù)據(jù)的更新才會生效,修改了對應(yīng)的規(guī)則需要重新進行實體元數(shù)據(jù)的更新。思考題前面示例驗證規(guī)則的實現(xiàn)中,繼承的父類包括哪些?02框架驗證規(guī)則實現(xiàn)邏輯介紹框架驗證規(guī)則實現(xiàn)邏輯介紹通過前面單表、主從表的開發(fā)和剛剛的驗證規(guī)則示例中可以看出,我們的規(guī)則可以在實體屬性中標記特性進行實現(xiàn),也可以在服務(wù)端定義規(guī)則類進行實現(xiàn),之間有什么差異呢?從實現(xiàn)可以看出,在實體中標記的特性只能是對該屬性的簡單驗證;對于復雜驗證或者是屬性之間的聯(lián)合驗證無法在實體中標記特性,就需要引入規(guī)則類進行實現(xiàn)。兩者的相同點就是:實現(xiàn)完成后都需要進行實體元數(shù)據(jù)的更新才會生效??蚣茯炞C規(guī)則實現(xiàn)邏輯框架驗證規(guī)則實現(xiàn)邏輯介紹框架驗證規(guī)則邏輯的實現(xiàn):框架針對單個屬性的簡單驗證是在實體屬性中標記特性進行實現(xiàn)的(這些也可以在驗證方法中進行實現(xiàn)),框架在生成表格或者表單的時候,將屬性的這些特性和屬性對應(yīng)Ext控件一起生成返回到前端,然后前端解析將可以轉(zhuǎn)換為Ext控件的驗證規(guī)則轉(zhuǎn)換為控件規(guī)則,在操作控件時,在對應(yīng)控件中有紅色框框顯示(這種是做了前后端雙重驗證);不能轉(zhuǎn)換的,保存數(shù)據(jù)時給出具體的異常提示(只做了后臺驗證)。對于復雜的驗證,如規(guī)則類中實現(xiàn)的規(guī)則,是無法解析為對應(yīng)控件的驗證,則是在后臺進行數(shù)據(jù)的驗證處理,即通過RF.Save()保存數(shù)據(jù)前,去調(diào)用實體對應(yīng)的驗證,驗證不通過給出具體的異常提示(走的后臺驗證)??蚣茯炞C規(guī)則實現(xiàn)邏輯03框架驗證規(guī)則的實現(xiàn)思考題框架驗證規(guī)則的實現(xiàn)方式包括幾種?分別是?框架驗證規(guī)則實現(xiàn)方式框架通用的驗證方式,框架提供了三種實現(xiàn)方式,分別為運行時規(guī)則、標準規(guī)則和預編譯規(guī)則。1、運行時規(guī)則:1)通過在實體元數(shù)據(jù)模塊進行運行時配置的規(guī)則,如字段長度、非空等驗證。如果是部署的服務(wù),添加或者修改了配置規(guī)則,需要重啟服務(wù)。2)在實體屬性中標記特性,只能標記非空,非重復,最大長度,最小長度,最大值和最小值,標記的特性是針對單個屬性的驗證,標記完成后需要對實體元數(shù)據(jù)進行更新操作,驗證才會生效。說明:該種方式實現(xiàn)的規(guī)則如果在實體元數(shù)據(jù)規(guī)則類中把對應(yīng)規(guī)則禁用了,即使在代碼中標記了對應(yīng)的規(guī)則,也不會生效;規(guī)則刪除后,實體元數(shù)據(jù)的規(guī)則不能自動刪除,需要手動把對應(yīng)的規(guī)則刪除或者是禁用。驗證規(guī)則的實現(xiàn)方式框架驗證規(guī)則實現(xiàn)方式2、標準規(guī)則:在實體配置中重寫AddValidations()方法實現(xiàn)規(guī)則驗證,編寫代碼運行項目后立即生效,不可配置。3、預編譯規(guī)則:通過C#代碼的方式實現(xiàn)驗證規(guī)則,然后在實體元數(shù)據(jù)功能進行更新并配置啟用。包含的規(guī)則父類:實體規(guī)則(繼承EntityRule<T>)、非重復規(guī)則(繼承NotDuplicateRule<T>)、刪除被引用規(guī)則(繼承NoReferencedRule<T>)說明:預編譯規(guī)則也需要在實體元數(shù)據(jù)中進行更新才會生效,如果規(guī)則的類名修改了,原來類名生成的規(guī)則不會自動刪除,會根據(jù)新的類名重新生成一條規(guī)則。驗證規(guī)則的實現(xiàn)方式運行時規(guī)則實現(xiàn)1、在“實體元數(shù)據(jù)(數(shù)據(jù)字典)”菜單的“實體規(guī)則”頁簽中,維護規(guī)則,做基礎(chǔ)的驗證。運行時規(guī)則實現(xiàn)說明:在項目開發(fā)階段不建議在該界面直接維護規(guī)則。運行時規(guī)則實現(xiàn)2、在實體屬性中配置驗證規(guī)則,包含的驗證:
非空驗證:[Required]
非重復驗證:[NotDuplicate]
最大長度驗證:[MaxLength(40)]
最小長度驗證:[MinLength(2)]
最大值驗證:[MaxValue(9999)]
最小值驗證:[MinValue(1)]
示例:運行時規(guī)則驗證示例,如讀者分類中類別號的驗證:運行時規(guī)則實現(xiàn)運行時規(guī)則實現(xiàn)注意事項:1、驗證要生效,必須進行實體元數(shù)據(jù)的更新,且規(guī)則狀態(tài)是啟用狀態(tài)才會生效;2、實體屬性配置的規(guī)則刪除,元數(shù)據(jù)生成的規(guī)則不會自動刪除,需要手動刪除或者禁用,否則規(guī)則還會生效;3、引用屬性的非空驗證是通過屬性的類型進行驗證的,不要在引用屬性中標記非空特性[Required],否則非空驗證的提示會提示兩次。運行時規(guī)則實現(xiàn)標準規(guī)則實現(xiàn)標準規(guī)則是在實體配置中重寫添加驗證方法AddValidations進行實現(xiàn):標準規(guī)則實現(xiàn)1、標準規(guī)則中可以實現(xiàn)運行時規(guī)則和預編譯規(guī)則中實現(xiàn)的所有規(guī)則(雖然可以實現(xiàn),但是被引用刪除規(guī)則建議還是使用預編譯中刪除被引用的規(guī)則實現(xiàn),減少開發(fā)的代碼量);2、標準規(guī)則與運行時和預編譯規(guī)則的差異:標準規(guī)則不可配置,運行時和預編譯規(guī)則可配置。標準規(guī)則實現(xiàn)標準規(guī)則中可以實現(xiàn)的驗證:1、非空驗證;rules.AddRule(屬性名,newRequiredRule());2、非重復驗證,單個和多個屬性的非重復驗證;
單個屬性非重復驗證:rules.AddRule(屬性名,newNotDuplicateRule());
多個屬性非重復驗證
rules.AddRule(newNotDuplicateRule()
{Properties=
{
屬性名1,
屬性名2
},MessageBuilder=(e)=>
{return“驗證不通過的提示信息".L10N();
}
});標準規(guī)則實現(xiàn)標準規(guī)則實現(xiàn)3、長度驗證,包括最小和最大長度的設(shè)置;
rules.AddRule(屬性名,newStringLengthRangeRule(){Min=2,Max=40});4、最大最小值驗證;rules.AddRule(屬性名,newNumberRangeRule(){Min=1,Max=100});5、正則表達式驗證;
rules.AddRule(屬性名,newRegexMatchRule(){Regex=newRegex(@"^((\d{3}-\d{8}|\d{4}-\d{7,8})|(0?(13|14|15|17|18|19)[0-9]{9}))$"),MessageBuilder=(o)=>{ return"電話號碼不正確";}});標準規(guī)則實現(xiàn)標準規(guī)則實現(xiàn)6、實體驗證
rules.AddRule(newHandlerRule(){Handler=(o,e)=>{
//這里可以進行查數(shù)據(jù)庫進行操作,當前實體的數(shù)據(jù)不能滿足驗證判斷要求時可查數(shù)據(jù)庫判斷varreader=o.CastTo<實體類>();if(判斷的條件)
e.BrokenDescription=“具體的驗證提示信息".L10nFormat(reader.Name);}});標準規(guī)則實現(xiàn)標準規(guī)則實現(xiàn)示例讀者管理中通過標準規(guī)則驗證實現(xiàn)如下驗證:讀者編號非空,姓名非空,單位非空讀者編號,姓名聯(lián)合驗證唯一讀者編號和姓名最大可輸入長度為20手機號需要驗證格式已借書數(shù)量不能大于可借書數(shù)量標準規(guī)則實現(xiàn)示例預編譯規(guī)則實現(xiàn)預編譯規(guī)則也是需要對實體元數(shù)據(jù)進行更新,編寫的規(guī)則才會生效;1、非重復規(guī)則:繼承NotDuplicateRule<T>,在構(gòu)造函數(shù)中實現(xiàn)非重復邏輯預編譯規(guī)則實現(xiàn)[System.ComponentModel.DisplayName(“規(guī)則名稱信息")][System.ComponentModel.Description(“規(guī)則描述信息")]
public
class
XXXRule:NotDuplicateRule<T>
{
public
XXXRule()
{Scope=EntityStatusScopes.Update|EntityStatusScopes.Add;Properties.Add(屬性1);Properties.Add(屬性2);MessageBuilder=(e)=>
{
vart=easT;//e為對應(yīng)的實體
return
“驗證不通過的提示信息[{0}]”.L10nFormat(t.A);//{0}為參數(shù)設(shè)置
};
}
}規(guī)則作用域,用Scope進行設(shè)置,默認為Add和Update。非重復驗證的屬性,只能設(shè)置數(shù)據(jù)庫存在的字段屬性,且不能是復雜屬性提示信息,可不設(shè)置,非重復框架有默認的提示。預編譯規(guī)則實現(xiàn)2、被引用不允許刪除:繼承NoReferencedRule<T>,在構(gòu)造函數(shù)中實現(xiàn)被引用不能刪除的邏輯。預編譯規(guī)則實現(xiàn)[System.ComponentModel.DisplayName(“規(guī)則名稱信息")][System.ComponentModel.Description(“規(guī)則描述信息")]
public
class
XXXRule:NoReferencedRule<T>
{
public
XXXRule()
{Scope=EntityStatusScopes.Delete;Properties.Add(被引用的屬性名);MessageBuilder=(e,c)=>
{
varcat=easT;
return
“被引用刪除的提示信息{0}”.L10nFormat(c);
};
}
}規(guī)則作用域,用Scope進行設(shè)置,默認為刪除,通常不用設(shè)置。只能是引用Id屬性,通過其他實體.引用Id屬性名加載出來。驗證不通過的提示信息,引用不允許刪除框架有默認提示信息,如果想修改框架的提示信息可通過此屬性添加,其中e為實體,c為被引用的次數(shù)。預編譯規(guī)則實現(xiàn)3、實體規(guī)則:繼承EntityRule<T>,在這個規(guī)則中可以實現(xiàn)所有規(guī)則。預編譯規(guī)則實現(xiàn)[System.ComponentModel.DisplayName("規(guī)則名稱信息")][System.ComponentModel.Description("規(guī)則描述信息")]
public
class
XXXRule:EntityRule<T>
{
public
XXXRule()//構(gòu)造函數(shù)
{Scope=EntityStatusScopes.Add|EntityStatusScopes.Update;//規(guī)則作用域默認為新增和修改,如果是只在添加操作生效,可以對該屬性進行規(guī)則設(shè)置ConnectToDataSource=false;
}
protected
override
voidValidate(IEntityentity,RuleArgse)//驗證方法
{ //這里可以調(diào)用控制器方法對數(shù)據(jù)庫進行操作
vart=entityasT;//entity為當前驗證的實體
if(驗證的條件)e.BrokenDescription=“驗證不通過的提示信息{0}".L10nFormat(t.A);
}
}是否連接數(shù)據(jù)倉庫,默認為false,如果在驗證方法中有對數(shù)據(jù)庫進行操作,該屬性要設(shè)置為true。思考題標準規(guī)則的實體驗證和預編譯規(guī)則的標準規(guī)則,都能實現(xiàn)所有的驗證,有什么區(qū)別?04經(jīng)驗總結(jié)經(jīng)驗總結(jié)標準驗證AddValidations和預編譯驗證(在服務(wù)端編寫驗證規(guī)則類)是兩種不一樣的實現(xiàn)方式,同一邏輯用兩種方式驗證的效果是一樣的,只是其中一種是代碼所見即所得,一種是可配置;在項目上對應(yīng)的驗證邏輯,根據(jù)實際需要選擇其中一種方式實現(xiàn)即可;非重復驗證盡量使用框架非重復的子類進行驗證,不要在實體規(guī)則中進行驗證,原因是寫的邏輯比較多,還有可能寫漏,用框架的非重復驗證會簡單很多,也避免一些不必要的bug出現(xiàn);被引用不允許刪除盡量使用框架的,原因與非重復驗證一致;String類型的長度驗證,框架默認配置的長度是20,如果有些字段需要設(shè)置為其他的長度限制,需要自己手動設(shè)置,如果框架string類型的長度限制都需要調(diào)整,可以在配置文件中配置DefaultFieldMaximumLength??蚣艿倪@些驗證都是在調(diào)用RF.Save()保存數(shù)據(jù)庫前進行校驗的,使用DB操作數(shù)據(jù)庫驗證不會生效。經(jīng)驗總結(jié)思考題在部署好的服務(wù)中,為什么增加或者修改實體元數(shù)據(jù)對應(yīng)功能的規(guī)則不生效?使用db或者sql語句執(zhí)行數(shù)據(jù)庫保存操作,驗證規(guī)則未生效?修改實體元數(shù)據(jù)的規(guī)則要重啟服務(wù)后才能生效??蚣艿膶嶓w規(guī)則是要在通過實體倉庫保存數(shù)據(jù)前才會執(zhí)行,通過db和sql直接操作數(shù)據(jù)庫不會執(zhí)行。練習1、框架驗證規(guī)則是什么時候執(zhí)行的()A:數(shù)據(jù)添加時; B:數(shù)據(jù)修改時;C:數(shù)據(jù)保存前; D:數(shù)據(jù)刪除時。2、被引用不允許刪除規(guī)則的作用域是新增和修改。()3、標準規(guī)則需要進行實體元數(shù)據(jù)的初始化才會生效。()C錯錯本章小結(jié)本章主要講解了工業(yè)管理軟件驗證規(guī)則的實現(xiàn),包括:框架驗證規(guī)則的實現(xiàn)邏輯;運行時驗證規(guī)則的開發(fā)實現(xiàn)步驟與配置;標準規(guī)則的開發(fā)實現(xiàn);預編譯規(guī)則的開發(fā)實現(xiàn);框架驗證規(guī)則是在什么情況下執(zhí)行的。驗證規(guī)則在整個工業(yè)管理軟件開發(fā)中比較重要,學員要能夠根據(jù)不同的業(yè)務(wù)需求選擇合適的驗證規(guī)則去實現(xiàn)對應(yīng)的業(yè)務(wù)驗證邏輯,并且遇到問題能夠定位和修復。THANKYOU深圳市信息職業(yè)技術(shù)學院3.4平臺通用配置深圳市信息職業(yè)技術(shù)學院——提交事件目
錄提交事件課題導入01提交前事件02提交后事件03經(jīng)驗總結(jié)04知識回顧框架驗證規(guī)則的實現(xiàn)邏輯;運行時驗證規(guī)則的開發(fā)實現(xiàn)步驟與配置;標準規(guī)則的開發(fā)實現(xiàn)步驟;預編譯規(guī)則的開發(fā)實現(xiàn)步驟;驗證規(guī)則使用的注意事項;學習目標通過本節(jié)學習可以:掌握提交前事件的開發(fā)實現(xiàn)步驟;掌握提交后事件的開發(fā)實現(xiàn)步驟;掌握使用提交事件應(yīng)該注意哪些問題;了解框架提交事件的應(yīng)用場景。01提交事件課題導入課題導入在做功能開發(fā)時,對于一些功能或者是框架通用的邏輯,我們常規(guī)的開發(fā)思路是寫一個通用的方法,需要用到這個方法時去調(diào)用該方法,這種方式是需要開發(fā)人員自己寫代碼去調(diào)用;提交事件是針對上述這種通用邏輯引入的,將功能的一些通用邏輯寫到提交事件的方法中,由框架統(tǒng)一去執(zhí)行,不需要自己額外去調(diào)用。提交事件介紹提交事件介紹提交事件:分為提交前和提交后事件。提交前事件:針對某個實體,保存之前的通用邏輯處理,可以使用提交前事件處理;程序在調(diào)用RF.Save()保存實體數(shù)據(jù)之前框架會自動去調(diào)用提交前事件的方法執(zhí)行對應(yīng)的邏輯。提交后事件:針對某個實體,保存之后的通用邏輯處理,可以使用提交后事件處理;程序在調(diào)用RF.Save()保存實體數(shù)據(jù)之后框架會自動去調(diào)用提交后事件的方法執(zhí)行對應(yīng)的邏輯。02提交前事件提交前事件開發(fā)示例實現(xiàn)步驟業(yè)務(wù)描述:讀者管理功能數(shù)據(jù)保存前,如果讀者管理的操作為新增時,將讀者管理關(guān)聯(lián)的讀者分類的更新時間設(shè)置為當前操作時間。該業(yè)務(wù)實現(xiàn)使用提交前事件來處理,實現(xiàn)步驟如下:1、在服務(wù)端新建一個類,以Submitting結(jié)尾,繼承OnSubmitting,關(guān)聯(lián)實體為讀者管理的實體類提交前事件開發(fā)步驟提交前事件開發(fā)示例實現(xiàn)步驟2、鼠標點擊報錯的地方,實現(xiàn)抽象類。提交前事件開發(fā)步驟提交前事件開發(fā)示例實現(xiàn)步驟3、給提交前事件類增加名稱DisplayName和描述Description信息。提交前事件開發(fā)步驟提交前事件開發(fā)示例實現(xiàn)步驟4、實現(xiàn)業(yè)務(wù)邏輯:讀者管理的操作為新增時,將讀者管理關(guān)聯(lián)的讀者分類的更新時間設(shè)置為當前操作時間。提交前事件開發(fā)步驟提交前事件開發(fā)示例實現(xiàn)步驟5、運行項目,進行實體元數(shù)據(jù)的更新,會在讀者管理的提交前事件的子頁簽生成一筆對應(yīng)的數(shù)據(jù),如下:提交前事件開發(fā)步驟提交前事件開發(fā)示例實現(xiàn)步驟6、可以在Invoke方法中設(shè)置斷點,在讀者管理中插入一筆數(shù)據(jù)點擊保存,在讀者分類中查看效果,可以看到修改時間更新了。提交前事件開發(fā)步驟思考題提交前事件的命名規(guī)范?該類是添加在服務(wù)端工程還是客戶端工程?提交前事件繼承的父類是?03提交后事件提交后事件開發(fā)示例實現(xiàn)步驟業(yè)務(wù)描述:讀者管理功能數(shù)據(jù)保存后,如果讀者管理的操作狀態(tài)為修改時,且管理的讀者分類為學生時,更新對應(yīng)讀者分類的可借書天數(shù),可借書天數(shù)在原來的基礎(chǔ)上加1,當可借書天數(shù)>=90時,不執(zhí)行更新操作;該業(yè)務(wù)實現(xiàn)使用提交前事件來處理,實現(xiàn)步驟如下:1、在服務(wù)端新建一個類,以Submitted結(jié)尾,繼承OnSubmitted,關(guān)聯(lián)實體為讀者管理的實體類提交后事件開發(fā)步驟提交后事件開發(fā)示例實現(xiàn)步驟2、鼠標點擊報錯的地方,實現(xiàn)Invoke抽象類。提交后事件開發(fā)步驟提交后事件開發(fā)示例實現(xiàn)步驟3、給類增加名稱DisplayName和描述Description信息提交后事件開發(fā)步驟提交后事件開發(fā)示例實現(xiàn)步驟4、實現(xiàn)業(yè)務(wù)邏輯。提交后事件開發(fā)步驟提交后事件開發(fā)示例實現(xiàn)步驟5、運行項目,進行實體元數(shù)據(jù)的更新,會在讀者管理的提交后事件的子頁簽生成一筆對應(yīng)的數(shù)據(jù),如下:提交后事件開發(fā)步驟提交后事件開發(fā)示例實現(xiàn)步驟6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版化工行業(yè)泵送合同3篇
- 二零二五年度樓板澆注材料供應(yīng)與施工合同4篇
- 二零二五年度二手重型機械租賃合同范本4篇
- 2025年度寵物健康監(jiān)測服務(wù)與個人健康管理合同3篇
- 2025版專業(yè)錄音棚錄音師勞務(wù)服務(wù)合同范本4篇
- 二零二五年度現(xiàn)代簡約風格床具購買合同模板3篇
- 2025年度馬戲團演出品牌形象與合作開發(fā)合同4篇
- 2025年度餐飲連鎖企業(yè)加盟管理服務(wù)合同3篇
- 2025版森林資源苗木養(yǎng)護與保護合同4篇
- 二零二四年企業(yè)智能化倉儲技術(shù)集成合同3篇
- 【探跡科技】2024知識產(chǎn)權(quán)行業(yè)發(fā)展趨勢報告-從工業(yè)轟鳴到數(shù)智浪潮知識產(chǎn)權(quán)成為競爭市場的“矛與盾”
- 《中國政法大學》課件
- GB/T 35270-2024嬰幼兒背帶(袋)
- 2024-2025學年高二上學期期末數(shù)學試卷(新題型:19題)(基礎(chǔ)篇)(含答案)
- 海外市場開拓計劃
- 2024年度國家社會科學基金項目課題指南
- 七上-動點、動角問題12道好題-解析
- 2024年九省聯(lián)考新高考 數(shù)學試卷(含答案解析)
- 紅色歷史研學旅行課程設(shè)計
- 下運動神經(jīng)元損害綜合征疾病演示課件
- 2023中考地理真題(含解析)
評論
0/150
提交評論