国产成人三级在线视频网站观看|日韩 亚洲一区 中文字幕|伊人久久大香线蕉综合热|亚洲欧美日韩最新一区

閬中市政府oa系統(tǒng):夾江縣政府機(jī)關(guān)oa中一起學(xué)習(xí)設(shè)計(jì)模式--05.原型模式

時(shí)間:2025-02-06 22:28:51 信創(chuàng)OA資訊首頁(yè) 容城縣政務(wù)OA

PHPOA!國(guó)內(nèi)首家專業(yè)OA辦公軟件、OA系統(tǒng)、政務(wù)辦公開源oa系統(tǒng)服務(wù)提供商,采用PHP+MYSQL開源語(yǔ)言,一直致力于應(yīng)用管理軟件基層研發(fā),現(xiàn)己推出企業(yè)OA、政府OA、集團(tuán)OA、SAAS版OA等應(yīng)用平臺(tái),詳細(xì)咨詢13807814037 現(xiàn)在論壇購(gòu)買,只需588元

閬中市政府政務(wù)OA系統(tǒng):夾江縣政府機(jī)關(guān)oa中一起學(xué)習(xí)設(shè)計(jì)模式--05.原型模式證照管理,能夠使企業(yè)、員工所有證照原件得到妥善的管理,在使用的時(shí)候確保證照的完整性,防止損壞或遺失。 證照管理的人對(duì)工作周報(bào)的創(chuàng)建和編寫模塊產(chǎn)生了抱怨。究其原因,a公司的oa管理員發(fā)現(xiàn),由于某些崗位每周工作存在重復(fù)性,工作周報(bào)內(nèi)容都大同小異。如圖: 這些周報(bào)只有一些小地方存在差異,但是先行系統(tǒng)每周默認(rèn)創(chuàng)建的周報(bào)都是空白報(bào)表,用戶只能通過重新輸入或不斷復(fù)制、粘貼來填寫重復(fù)的周報(bào)內(nèi)容,極大降低了工作效率,浪費(fèi)寶貴的時(shí)間。如何快速創(chuàng)建相同或相似的工作周報(bào),成為a公司oa開發(fā)人員面臨的一個(gè)問題。 開發(fā)人員通過對(duì)問題仔細(xì)分析,決定按照以下思路對(duì)工作周報(bào)模


央行統(tǒng)籌協(xié)調(diào),長(zhǎng)安鏈協(xié)作網(wǎng)絡(luò)征信關(guān)鍵節(jié)點(diǎn)啟用:

日前,依托長(zhǎng)安鏈建設(shè)的“京津冀征信鏈”首款產(chǎn)品在樸道征信有限公司正式上鏈發(fā)布,這標(biāo)志著長(zhǎng)安鏈協(xié)作網(wǎng)絡(luò)征信節(jié)點(diǎn)建設(shè)和應(yīng)用已全面啟動(dòng),將在推動(dòng)京津冀協(xié)同發(fā)展方面發(fā)揮重要作用,并逐步建設(shè)成為國(guó)內(nèi)領(lǐng)先的征信科技服務(wù)網(wǎng)絡(luò)體系 ”具有高性能、強(qiáng)隱私、廣協(xié)作的技術(shù)特點(diǎn),在96核區(qū)塊鏈專用加速芯片的助力下,不僅可以從容應(yīng)對(duì)海量數(shù)據(jù)的可信連接,還可以構(gòu)建實(shí)現(xiàn)物理隔離的數(shù)據(jù)處理“安全屋”,具備強(qiáng)大的隱私保護(hù)能力,高效支撐能源、金融、政務(wù)服務(wù)等業(yè)務(wù)的開展 近一年來,緊密圍繞長(zhǎng)安鏈組建的生態(tài)聯(lián)盟已經(jīng)擁有國(guó)家電網(wǎng)、建設(shè)銀行等50家成員單位,長(zhǎng)安鏈協(xié)作網(wǎng)絡(luò)已接入政務(wù)、金融、醫(yī)療、通信、能源、工業(yè)互聯(lián)等多個(gè)關(guān)鍵領(lǐng)域,搭建起一個(gè)個(gè)節(jié)點(diǎn)。 tips 更多長(zhǎng)安鏈開源項(xiàng)目qa,可登錄開源社區(qū)、技術(shù)文檔庫(kù)查看。

4.29看點(diǎn) | 智慧城市探路者——《智慧城市安全體系研究報(bào)告》揭曉:

公安部網(wǎng)絡(luò)安全保衛(wèi)局郭啟全總工程師、北京市委網(wǎng)信辦陳祥副主任、國(guó)家安監(jiān)總局研究中心賀定超副主任、北京網(wǎng)安總隊(duì)黨委委員田廣輝書記、交通部信息中心王林處長(zhǎng)、北京經(jīng)信委史宜會(huì)處長(zhǎng)、海淀區(qū)經(jīng)信委李鑫處長(zhǎng)、中國(guó)網(wǎng)絡(luò)安全產(chǎn)業(yè)聯(lián)盟關(guān)鍵基礎(chǔ)設(shè)施保護(hù)工作委員會(huì)孫一桉主任出席此次論壇并發(fā)表致辭 公安部網(wǎng)絡(luò)安全保衛(wèi)局郭啟全總工程師致辭中指出,網(wǎng)絡(luò)安全在平安城市和智慧城市建設(shè)中起到了關(guān)鍵性作用。在其涉及到的市政行業(yè)水電、軌道交通等實(shí)體安全和網(wǎng)絡(luò)安全方面,離不開所有網(wǎng)絡(luò)安全企業(yè)的技術(shù)支撐。 ? ▲ 公安部網(wǎng)絡(luò)安全保衛(wèi)局郭啟全總工程師發(fā)表致辭?▲ 北京市委網(wǎng)信辦陳祥副主任發(fā)表致辭論壇上中國(guó)網(wǎng)絡(luò)安全產(chǎn)業(yè)聯(lián)盟聯(lián)合安恒信息等多家單位,重磅發(fā)布了《智慧城市安全體系研究報(bào)告》。 2014年8月,國(guó)家發(fā)改委等八部委聯(lián)合印發(fā)了《關(guān)于促進(jìn)智慧城市健康發(fā)展的指導(dǎo)意見》。在國(guó)家政策引領(lǐng)下,全國(guó)智慧城市建設(shè)快速發(fā)展,國(guó)家的“十三五”規(guī)劃對(duì)建設(shè)新型智慧城市提出了新要求。 《智慧城市安全體系研究報(bào)告》之中,其中由安恒信息編寫的《麗水智慧政務(wù)案例》被報(bào)告選為優(yōu)秀案例。

1分鐘鏈圈 | ibm再砸550萬美金,開設(shè)圣保羅區(qū)塊鏈中心,業(yè)務(wù)輻射拉美;區(qū)塊鏈珠寶平臺(tái)獲1040萬美元融資:

觀點(diǎn)瑞波聯(lián)合創(chuàng)始人:數(shù)字貨幣需要一個(gè)成功的分散網(wǎng)絡(luò)北大劉曉蕾:區(qū)塊鏈最核心的發(fā)展?jié)摿κ墙鉀Q數(shù)字資產(chǎn)的確權(quán)問題丹華資本dovey wan:硅谷技術(shù)大神鉆研區(qū)塊鏈財(cái)政部副部長(zhǎng)朱光耀:g20正在深入討論對(duì)數(shù)字經(jīng)濟(jì)征稅全球英澳加強(qiáng)有關(guān)數(shù)字貨幣的金融合作馬來西亞 瑞波聯(lián)合創(chuàng)始人:數(shù)字貨幣需要一個(gè)成功的分散網(wǎng)絡(luò)瑞波聯(lián)合創(chuàng)始人jed mccaleb采訪中表示,數(shù)字貨幣和區(qū)塊鏈技術(shù)需要一個(gè)分散的網(wǎng)絡(luò)才能成功,而使用一個(gè)集中支付的網(wǎng)絡(luò)將導(dǎo)致系統(tǒng)不如一個(gè)swift或者paypal 財(cái)政部副部長(zhǎng)朱光耀:g20正在深入討論對(duì)數(shù)字經(jīng)濟(jì)征稅財(cái)政部副部長(zhǎng)朱光耀在中國(guó)發(fā)展高層論壇上表示,數(shù)字經(jīng)濟(jì)還處在發(fā)展的過程中,要以科普、推動(dòng)的態(tài)度來推進(jìn)數(shù)字經(jīng)濟(jì)發(fā)展。 ibm在圣保羅投資550萬美元開設(shè)區(qū)塊鏈中心,業(yè)務(wù)將輻射整個(gè)拉丁美洲根據(jù)ibm公司拉丁美洲區(qū)域總經(jīng)理ana paula assis透露,這家“藍(lán)色巨人”將投資550萬美元在巴西圣保羅開設(shè)全新的區(qū)塊鏈中心 ,這也是拉丁美洲第一個(gè)致力于區(qū)塊鏈行業(yè)的技術(shù)中心,預(yù)計(jì)將會(huì)在今年二季度為整個(gè)地區(qū)的客戶提供服務(wù)。

數(shù)據(jù)圖處處有陷阱?五個(gè)案例教你輕松辨真?zhèn)?

此圖有好幾個(gè)問題值得商榷。首先,在數(shù)據(jù)圖里用圖形元素作單位從來都不是個(gè)好主意。用五本書代表75%、或者用16本書代表82%是幾個(gè)意思?這到底是個(gè)柱狀圖,y軸就應(yīng)該以零作為起始值。 這也說明政府的數(shù)據(jù)分類做的太糟糕,即使是畢業(yè)率這樣簡(jiǎn)單的指標(biāo)他們也需要好幾張數(shù)據(jù)表才拼湊得出。 4.背景不了解,制圖出偏頗——以美國(guó)政府開支分布圖為例以下是2015年初瘋傳的政府開支餅圖:?politifact發(fā)現(xiàn),這是一個(gè)對(duì)于政府開支實(shí)際運(yùn)作方式根本上的誤讀。 該圖展現(xiàn)的僅僅是政府可以自由決定的部分,完全忽略了硬性開支。實(shí)際上,醫(yī)療保健、醫(yī)療補(bǔ)助、社會(huì)保障等法定項(xiàng)目占去了政府總開支的60%。 該圖顯示政府給低收入者發(fā)放的“食品券”一項(xiàng)已被歸入食品和農(nóng)村預(yù)算一項(xiàng)(可由政府自由決定),實(shí)際上是硬性項(xiàng)目的一部分,并沒有在圖中體現(xiàn)出來。以下則是包括硬性開支后的2015年政府開支圖:?

閬中市政府政務(wù)OA系統(tǒng):夾江縣政府機(jī)關(guān)oa中一起學(xué)習(xí)設(shè)計(jì)模式--05.原型模式

,按分類:于企業(yè)而言,證照分有:營(yíng)業(yè)執(zhí)照、安全生產(chǎn)許可證、稅務(wù)登記證、建筑方面的相關(guān)證件等等;于員工而言,證照可分為:健康證、會(huì)計(jì)證等等,這些都關(guān)系著員工個(gè)人與企業(yè)發(fā)展。 為了企業(yè)能夠做好證照管理,適應(yīng)企業(yè)發(fā)展的需求,政務(wù)OA系統(tǒng)實(shí)現(xiàn)與證照管理對(duì)接,提高對(duì)證照管理規(guī)范化,滿足企業(yè)對(duì)各種證照及個(gè)人證件實(shí)行分層管理。 政務(wù)OA系統(tǒng)人事管理系統(tǒng),使企業(yè)能夠?qū)λ械淖C照能夠狀態(tài)及時(shí)掌握,證照是否生效、是否過期,都能在證照管理中,保證按時(shí)年檢。前言 《西游記》中的孫悟空吹猴毛變出很多猴兵的故事想必大家都知道,《火影》中鳴人的多重影分身大部分人應(yīng)該也是都知道,他們都可以根據(jù)自己的形象,復(fù)制(又稱克隆)出很多和自己一摸一樣的“身外身”來。在設(shè)計(jì)模式中也存在一個(gè)類似的模式,可以通過一個(gè)原型對(duì)象克隆出多個(gè)一模一樣的對(duì)象,該模式被成為原型模式。 一、大小異同的工作周報(bào) a公司一直使用自行開發(fā)的一套政務(wù)OA系統(tǒng)進(jìn)行日常工作辦理,但在使用過程中,越來越多的人對(duì)工作周報(bào)的創(chuàng)建和編寫模塊產(chǎn)生了抱怨。究其原因,a公司的oa管理員發(fā)現(xiàn),由于某些崗位每周工作存在重復(fù)性,工作周報(bào)內(nèi)容都大同小異。如圖: 這些周報(bào)只有一些小地方存在差異,但是先行系統(tǒng)每周默認(rèn)創(chuàng)建的周報(bào)都是空白報(bào)表,用戶只能通過重新輸入或不斷復(fù)制、粘貼來填寫重復(fù)的周報(bào)內(nèi)容,極大降低了工作效率,浪費(fèi)寶貴的時(shí)間。如何快速創(chuàng)建相同或相似的工作周報(bào),成為a公司oa開發(fā)人員面臨的一個(gè)問題。 開發(fā)人員通過對(duì)問題仔細(xì)分析,決定按照以下思路對(duì)工作周報(bào)模塊進(jìn)行重構(gòu)設(shè)計(jì)和實(shí)現(xiàn): 除了運(yùn)行用戶創(chuàng)建新的周報(bào)外,還允許用戶將創(chuàng)建好的周報(bào)保存為模板。 用戶在再次創(chuàng)建周報(bào)時(shí),可以創(chuàng)建全新的周報(bào),也可以選擇合適的模板復(fù)制生成一份相同的周報(bào),然后對(duì)新生成的周報(bào)根據(jù)實(shí)際情況進(jìn)行修改,產(chǎn)生新的周報(bào)。 只要按以上步驟,就可以大大的提高工作周報(bào)的創(chuàng)建效率。但是如何在一個(gè)面向?qū)ο笙到y(tǒng)中實(shí)現(xiàn)對(duì)象的復(fù)制和粘貼呢?接下來要學(xué)習(xí)的原型模式正為解決這類問題而誕生。 二、原型模式概述 在使用原型模式時(shí),需要首先創(chuàng)建一個(gè)原型對(duì)象,然后再通過復(fù)制這個(gè)原型對(duì)象來創(chuàng)建更多同類型的對(duì)象。定義如下: 原型模式(prototype pattern):使用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過克隆這些原型創(chuàng)建新的對(duì)象。原型模式是一種創(chuàng)建型模式。 原型模式的工作原理很簡(jiǎn)單:將一個(gè)原型對(duì)象傳給要發(fā)動(dòng)創(chuàng)建的對(duì)象,這個(gè)要發(fā)動(dòng)創(chuàng)建的對(duì)象通過請(qǐng)求原型對(duì)象克隆自己來實(shí)現(xiàn)創(chuàng)建過程。通過克隆方法所創(chuàng)建的對(duì)象是全新的對(duì)象,他們?cè)趦?nèi)存中擁有新的地址。對(duì)克隆產(chǎn)生的新對(duì)象進(jìn)行修改不會(huì)對(duì)原型對(duì)象造成任何影響,每個(gè)克隆對(duì)象都是相互獨(dú)立的。 原型模式的結(jié)構(gòu)如圖: 原型模式結(jié)構(gòu)圖中包含以下3個(gè)角色: prototype(抽象原型類):它是聲明克隆方法的接口,是所有具體原型類的公共父類,可以是抽象類也可以是接口,甚至還可以是具體的實(shí)現(xiàn)類。 concreteprototye(具體原型類):它實(shí)現(xiàn)在抽象原型類聲明的克隆方法,在克隆方法中返回自己的一個(gè)克隆對(duì)象。 clinet(客戶類):讓一個(gè)原型對(duì)象克隆自身從而創(chuàng)建一個(gè)新的對(duì)象,在客戶類中只需要直接實(shí)例化或通過工廠方法等方式創(chuàng)建一個(gè)原型對(duì)象,再通過調(diào)用該原型對(duì)象的克隆方法即可得到多個(gè)相同的對(duì)象。由于客戶類針對(duì)抽象原型類 prototype 編程,因此用戶可以根據(jù)需要選擇具體原型類,系統(tǒng)具有較好的可擴(kuò)展性,增加或更換具體的圓形類都很方便。 1、通用實(shí)現(xiàn)方法 通用的克隆實(shí)現(xiàn)方法是在具體圓形類的克隆方法中實(shí)例化一個(gè)與自身類型相同的對(duì)象并將其返回,并將相關(guān)的參數(shù)傳入新創(chuàng)建的對(duì)象中,保證它們的成員變量相同。 代碼語(yǔ)言:javascript 復(fù)制 /// <summary> /// 抽象原型類 /// </summary> public abstract class prototype { public string id { get; private set; } protected prototype(string id) { this.id = id; } //抽象類關(guān)鍵就是這樣一個(gè)clone方法 public abstract prototype clone(); } /// <summary> /// 具體原型類 /// </summary> public class concreteprototypea : prototype { public concreteprototypea(string id) : base(id) { } public override prototype clone() { prototype prototype = new concreteprototypea(id); return prototype; } } 客戶端測(cè)試代碼: 代碼語(yǔ)言:javascript 復(fù)制 class program { static void main(string[] args) { prototype cp1 = new concreteprototypea("123"); prototype cp2 = cp1.clone(); console.writeline("cloned:{0}", cp2.id); console.readkey(); } } 2、c#語(yǔ)言提供的 clone 方法 c# 中要想能夠?qū)崿F(xiàn)克隆的類,必須實(shí)現(xiàn)一個(gè)標(biāo)識(shí)接口 icloneable,表示這個(gè)類支持被復(fù)制。 代碼語(yǔ)言:javascript 復(fù)制 public class concreteprototypeb : icloneable { public object clone() { return (object) this.memberwiseclone(); } } 3、完整解決方案 a公司開發(fā)人員決定使用原型模式來實(shí)現(xiàn)工作周報(bào)的快速創(chuàng)建,結(jié)構(gòu)如圖: weeklylog 充當(dāng)具體原型類, object 充當(dāng)抽象原型類,clone() 方法為原型方法。weeklylog 代碼如下: 代碼語(yǔ)言:javascript 復(fù)制 class program { static void main(string[] args) { weeklylog logpre = new weeklylog(); logpre.name = "張無忌"; logpre.date = "第12周"; logpre.content = "這周工作很忙,每天加班!"; printlog(logpre); weeklylog lognew = logpre.clone() as weeklylog;//調(diào)用克隆方法創(chuàng)建克隆對(duì)象 lognew.date = "第13周"; printlog(lognew); weeklylog lognext = lognew.clone() as weeklylog; lognext.date = "第14周"; lognext.content = "這周還好,調(diào)休了2天"; printlog(lognext); console.readkey(); } static void printlog(weeklylog log) { if (log == null) return; console.writeline("***周報(bào)***"); console.writeline("周次:{0}", log.date); console.writeline("姓名:{0}", log.name); console.writeline("內(nèi)容:{0}", log.content); console.writeline("-----------------------------------------------"); } } 輸出結(jié)果: 通過已創(chuàng)建的工作周報(bào)可以快速的創(chuàng)建新的周報(bào),然后再根據(jù)需要修改周報(bào),無須再?gòu)念^開始創(chuàng)建。原型模式為公文系統(tǒng)系統(tǒng)中任務(wù)單的快速生成提供了一種解決方案。 四、帶附件的周報(bào) 通過引入原型模式,政務(wù)OA系統(tǒng)工作周報(bào)的編寫效率得到了很大提升,受到了員工的一致好評(píng)。但是有些員工發(fā)現(xiàn)了一個(gè)問題,當(dāng)周報(bào)中帶有附件時(shí),使用原型模式來復(fù)制周報(bào),雖然周報(bào)可以復(fù)制,但是周報(bào)的附件并不能復(fù)制。那怎么解決呢? 在回答這個(gè)問題之前,先介紹兩種不同的克隆方法,淺克?。╯hallow clone)和深克隆(deep clone)。兩種方法的主要區(qū)別就是是否支持引用類型的成員變量的復(fù)制。 值類型包括:int、double、byte、bool、chart等簡(jiǎn)單數(shù)據(jù)類型。引用類型包括:類、接口、數(shù)組等復(fù)雜類型。 1、淺克隆 在淺克隆中,如果原型對(duì)象的成員變量是值類型,將復(fù)制一份給克隆對(duì)象;如果原型對(duì)象的成員變量是引用類型,則將引用對(duì)象的地址復(fù)制一份給克隆對(duì)象,也就是說原型對(duì)象和克隆對(duì)象的引用類型成員變量指向相同的內(nèi)存地址。 代碼: 代碼語(yǔ)言:javascript 復(fù)制 /// <summary> /// 附件類 /// </summary> public class attachment { public string name { get; set; } public attachment(string name) { name = name; } public void download() { console.writeline("下載文件,文件名為" + name); } } public class weeklylog : icloneable { public string name { get; set; } public string date { get; set; } public string content { get; set; } public list<attachment> attachments { get; set; } public weeklylog() { attachments = new list<attachment>(); } public object clone() { //使用c#提供的方法實(shí)現(xiàn)淺克隆 return this.memberwiseclone(); } } 客戶端代碼: 代碼語(yǔ)言:javascript 復(fù)制 class program { static void main(string[] args) { v2.weeklylog logpre, lognew; logpre = new v2.weeklylog(); logpre.attachments.add(new attachment("第16周工作周報(bào).txt")); lognew = logpre.clone() as v2.weeklylog; console.writeline("周報(bào)是否相同:{0}", logpre == lognew); console.writeline("附件是否相同:{0}", logpre.attachments[0] == lognew.attachments[0]); } } 編譯并運(yùn)行,輸出結(jié)果: 由此可見,由于使用的是淺克隆技術(shù),通過“==”來比較原型對(duì)象和克隆對(duì)象的內(nèi)存地址時(shí)輸出 false,說明這兩個(gè)對(duì)象在內(nèi)存中分別有不同的地址,因此工作周報(bào)對(duì)象復(fù)制成功。但是比較附件對(duì)象的內(nèi)存地址時(shí)輸出 true,說明兩個(gè)附件對(duì)象在內(nèi)存中是同一個(gè)對(duì)象。 2、深克隆 在深克隆中無論原型對(duì)象的成員變量是值類型還是引用類型,都將復(fù)制一份都克隆對(duì)象,深克隆將原型對(duì)象的所有引用對(duì)象也復(fù)制一份給克隆對(duì)象。也就是說,深克隆除了對(duì)像本身被復(fù)制外,對(duì)象所包含的所有成員變量也將被復(fù)制。 c#中,如果要使用深克隆,可以通過序列化(serialization)等方式來實(shí)現(xiàn)。序列化就是將對(duì)象寫到流的過程,寫到流中的對(duì)象是原有對(duì)象的一個(gè)復(fù)制品,而元對(duì)象仍然存在于內(nèi)存中。 克隆流程:通過序列化將對(duì)象寫到一個(gè)流中,再?gòu)牧骼飳⑵?讀出來,就是實(shí)現(xiàn)了深克隆。 要實(shí)現(xiàn)序列化的對(duì)象,其類必須添加 serializable 屬性標(biāo)簽,不然無法實(shí)現(xiàn)序列化。 修改后代碼如下: 代碼語(yǔ)言:javascript 復(fù)制 /// <summary> /// 附件類 /// </summary> [serializable] public class attachment { public string name { get; set; } public attachment(string name) { name = name; } public void download() { console.writeline("下載文件,文件名為" + name); } } [serializable] public class weeklylog { public string name { get; set; } public string date { get; set; } public string content { get; set; } public list<attachment> attachments { get; set; } public weeklylog() { attachments = new list<attachment>(); } public object deepclone() { memorystream ms = new memorystream(); // 初始化一個(gè)內(nèi)存流 binaryformatter bf = new binaryformatter(); // 以二進(jìn)制的格式來序列化和反序列化對(duì)象 bf.serialize(ms, this); // 將檔案對(duì)象序列化到內(nèi)存流中 //設(shè)置流的位置,seekorigin.begin表示流的開始,0表示相對(duì)于seekorigin.begin的偏移量 ms.seek(0, seekorigin.begin); return bf.deserialize(ms); // 反序列化,實(shí)現(xiàn)深克隆 } } 客戶端代碼如下: 代碼語(yǔ)言:javascript 復(fù)制 class program { static void main(string[] args) { v3.weeklylog logpre, lognew = null; logpre = new v3.weeklylog(); logpre.attachments.add(new v3.attachment("第16周工作周報(bào).txt")); try { lognew = logpre.deepclone() as v3.weeklylog; } catch (exception ex) { console.writeline("克隆失敗"); } console.writeline("周報(bào)是否相同:{0}", logpre == lognew); console.writeline("附件是否相同:{0}", logpre.attachments[0] == lognew.attachments[0]); } } 編譯并運(yùn)行,結(jié)果如圖: 從結(jié)果就可以看出,由于使用了深克隆,所以附件對(duì)象也復(fù)制了,因此使用“==”比較結(jié)果均為 false。深克隆技術(shù)實(shí)現(xiàn)了原型對(duì)象和克隆對(duì)象的完全獨(dú)立,無論對(duì)克隆對(duì)象做任何修改,都不會(huì)影響原型對(duì)象,是一種更為理想的克隆方式。 淺克?。褐豢寺≡蛯?duì)象和原型對(duì)象中的值類型成員變量(變雙份),引用類型成員變量?jī)蓚€(gè)對(duì)象共用深克?。涸蛯?duì)象、原型對(duì)象中的值類型成員變量和原型對(duì)象中的引用類型成員變量全部復(fù)制一份新的 五、原型管理器的引入和實(shí)現(xiàn) 1、原型管理器概念 原型管理器(prototype manager)是將多個(gè)原型對(duì)象存儲(chǔ)在一個(gè)集合中供客戶端使用,它是一個(gè)專門負(fù)責(zé)克隆對(duì)象的工廠,其中定義了一個(gè)集合用于存儲(chǔ)原型對(duì)象,如果需要某個(gè)原型對(duì)象的一個(gè)克隆,可以通過復(fù)制集合中對(duì)應(yīng)的原型對(duì)象來獲得。在原型管理器中針對(duì)抽象原型類進(jìn)行編程,以便擴(kuò)展。 帶原型管理器的結(jié)構(gòu)如圖: 2、原型管理器的設(shè)計(jì)和實(shí)現(xiàn) a公司在日常辦公中有許多公文需要?jiǎng)?chuàng)建、遞交和審批,比如《可行性分析報(bào)告》《立項(xiàng)建議書》《軟件需求規(guī)格說明書》等。為了提高工作效率,在政務(wù)OA系統(tǒng)中為各類公文均創(chuàng)建了模板,用戶可以通過這些模板創(chuàng)建新的公文,這些公文模板需要統(tǒng)一進(jìn)行管理,系統(tǒng)根據(jù)用戶請(qǐng)求的不同生成不同的新公文。 開發(fā)人員使用帶原型管理器的原型模式來實(shí)現(xiàn)公文管理器的設(shè)計(jì),結(jié)構(gòu)如圖: 代碼如下: 代碼語(yǔ)言:javascript 復(fù)制 /// <summary> /// 抽象公文接口,也可以定義為抽象類 /// </summary> public interface iofficialdocument : icloneable { new iofficialdocument clone();//隱藏icloneable的clone方法接口 void display(); } /// <summary> /// 可行性分析報(bào)告 /// </summary> public class far : iofficialdocument { public iofficialdocument clone() { return (iofficialdocument) base.memberwiseclone(); } public void display() { console.writeline("《可行性分析報(bào)告》"); } object icloneable.clone() { return this.clone(); } } /// <summary> /// 軟件需求規(guī)格說明書 /// </summary> public class srs : iofficialdocument { public iofficialdocument clone() { return (iofficialdocument) base.memberwiseclone(); } public void display() { console.writeline("《軟件需求規(guī)格說明書》"); } object icloneable.clone() { return clone(); } } /// <summary> /// 原型管理器(使用餓漢式單例) /// </summary> public class prototypemanager { private dictionary<string, iofficialdocument> oddic = new dictionary<string, iofficialdocument>(); private static prototypemanager pm = new prototypemanager(); private prototypemanager() { oddic.add("far", new far()); oddic.add("srs", new far()); } public static prototypemanager getprototypemanager() => pm; /// <summary> /// 增加新的公文對(duì)象 /// </summary> public void addofficialdocument(string key, iofficialdocument doc) { oddic.add(key, doc); } /// <summary> /// 通過淺克隆獲取新的公文對(duì)象 /// </summary> /// <param name="key"></param> /// <returns></returns> public iofficialdocument getofficialdocument(string key) { return oddic[key].clone(); } } 客戶端代碼如下: 代碼語(yǔ)言:javascript 復(fù)制 class program { static void main(string[] args) { var pm = prototypemanager.getprototypemanager(); iofficialdocument doc1, doc2, doc3, doc4; doc1 = pm.getofficialdocument("far"); doc1.display(); doc2 = pm.getofficialdocument("far"); doc2.display(); console.writeline(doc1 == doc2); doc3 = pm.getofficialdocument("srs"); doc3.display(); doc4 = pm.getofficialdocument("srs"); doc4.display(); console.writeline(doc3 == doc4); } } 編譯并運(yùn)行輸出結(jié)果: 原型管理器中使用了一個(gè)字典來保存原型對(duì)象,客戶端可以通過 key 來獲取原型對(duì)象的克隆對(duì)象。另外本例中將原型管理器設(shè)計(jì)為單例類,并通過餓漢式方式實(shí)現(xiàn),確保系統(tǒng)中只有一個(gè)原型管理器,有利于節(jié)省系統(tǒng)資源,并可以更好的對(duì)原型管理器進(jìn)行控制。 六、原型模式總結(jié) 1、主要優(yōu)點(diǎn) 當(dāng)創(chuàng)建新的對(duì)象實(shí)例比較復(fù)雜時(shí),使用原型模式可以簡(jiǎn)化對(duì)象的創(chuàng)建過程,通過復(fù)制一個(gè)已有實(shí)例可以提高新實(shí)例的創(chuàng)建效率。 擴(kuò)展性較好。原型模式中提供了抽象原型類,客戶端可以針對(duì)抽象原型類編程,而將具體原型類寫在配置文件中,增加或減少具體原型類對(duì)原有系統(tǒng)不會(huì)產(chǎn)生任何影響。 原型模式提供了簡(jiǎn)化的創(chuàng)建結(jié)構(gòu)。原型模式中產(chǎn)品的復(fù)制是通過封裝在原型類中的克隆方法實(shí)現(xiàn)的,無須專門的工廠類來創(chuàng)建產(chǎn)品。 可以使用深克隆的方式保存對(duì)象的狀態(tài)。使用原型模式將對(duì)象復(fù)制一份并將其狀態(tài)保存起來,以便在需要的時(shí)候使用。 2、主要缺點(diǎn) 需要為每個(gè)類提供一個(gè)克隆方法,而且該克隆方法位于一個(gè)類的內(nèi)部。當(dāng)對(duì)已有的類進(jìn)行改造時(shí),需要修改源碼,違背了開閉原則。 在實(shí)現(xiàn)深克隆時(shí)需要編寫較為復(fù)雜的代碼,而且當(dāng)對(duì)象之間存在多重嵌套引用時(shí),為了實(shí)現(xiàn)深克隆,需要為每一層對(duì)象對(duì)應(yīng)的類提供深克隆方法,實(shí)現(xiàn)起來比較麻煩。 3、適用場(chǎng)景 創(chuàng)建新對(duì)象的成本比較大時(shí),新對(duì)象可以通過原型模式對(duì)已有對(duì)象進(jìn)行復(fù)制來獲得,如果是相似對(duì)象,則可以對(duì)其成員變量稍作修改。 如果系統(tǒng)需要保存對(duì)象的狀態(tài) 避免使用工廠來創(chuàng)建分層次的對(duì)象(多重嵌套),并且類的實(shí)例對(duì)象只有一個(gè)或很少的幾個(gè)組合狀態(tài),通過復(fù)制原型對(duì)象得到實(shí)例會(huì)更加方便。 示例代碼: https://github.com/crazyliuxp/designpattern.simples.csharp 參考資料:

“游云南”大數(shù)據(jù)中心發(fā)布《2019云南省“十一”黃金周旅游大數(shù)據(jù)報(bào)告》:

“一中心、兩平臺(tái)”的總體設(shè)計(jì) 在“一中心,兩平臺(tái)”中,游云南大數(shù)據(jù)中心整合打通了景區(qū)、酒店、通訊運(yùn)營(yíng)商、公安、交通、氣象、等多種旅游相關(guān)數(shù)據(jù),為政府部門、旅游企業(yè)和游客提供大數(shù)據(jù)應(yīng)用服務(wù)。 ,建立省、州市、縣三級(jí)旅游行業(yè)監(jiān)管和應(yīng)急指揮平臺(tái),構(gòu)建產(chǎn)業(yè)運(yùn)行分析、旅游安全監(jiān)管、應(yīng)急指揮、投訴管理、導(dǎo)游執(zhí)業(yè)管理、景區(qū)客流監(jiān)測(cè)等旅游行政管理與市場(chǎng)治理體系。 對(duì)云南省與騰訊合力打造的“一部手機(jī)游云南”來說,這算是一個(gè)省級(jí)政府首次很大力度,以新型產(chǎn)品之手強(qiáng)勢(shì)介入文旅資源的整合、產(chǎn)品開發(fā)、市場(chǎng)環(huán)境整治等,足以顯示一個(gè)旅游大省做大做好旅游的決心。 據(jù)統(tǒng)計(jì),國(guó)慶期間,建水縣共接待游客154.63萬人次,同比增長(zhǎng)65.77%;彌勒市共接待游客87.88萬人次,同比增長(zhǎng)39.89%。 10月5日,位于昆明市尋甸縣鳳龍灣特色小鎮(zhèn),3次登上央視,開啟了“霸屏”模式。據(jù)統(tǒng)計(jì),10月1日至5日,鳳龍灣特色小鎮(zhèn)日均接待游客人次均破萬。 ?

2017年信息消費(fèi)將達(dá)900億 云計(jì)算帶動(dòng)產(chǎn)值超1000億:

近日,東莞市政府印發(fā)了《促進(jìn)信息消費(fèi)實(shí)施方案(2015—2017 年)》(下稱《方案》)?!斗桨浮诽岢?,到2017年,全市信息消費(fèi)總額要達(dá)到900億元,年均增長(zhǎng)20%以上。 在物聯(lián)網(wǎng)應(yīng)用消費(fèi)上,東莞將推動(dòng)智慧城管、智慧醫(yī)療、智慧商務(wù)、智慧環(huán)保、智慧交通等物聯(lián)網(wǎng)示范應(yīng)用建設(shè),深入開展石龍、東城、松山湖、虎門港等智慧東莞試點(diǎn)區(qū)域建設(shè)。 ■延伸閱讀東莞信息消費(fèi)空間有多大?1993年,美國(guó)政府提出“國(guó)家信息基礎(chǔ)設(shè)施”工程計(jì)劃,被通俗的稱為“信息高速公路”。 在今年1月19日的東莞市政府常務(wù)會(huì)議上,市長(zhǎng)袁寶成表示,信息消費(fèi)對(duì)第三產(chǎn)業(yè)尤其是生產(chǎn)性服務(wù)業(yè)具有重要的引導(dǎo)、帶動(dòng)和提升作用,不是簡(jiǎn)單的傳統(tǒng)的消費(fèi)概念。 他說,東莞的信息產(chǎn)值位列全國(guó)第七,要進(jìn)一步鞏固地位。信息服務(wù)帶來的變革,將從根本上改變東莞的產(chǎn)業(yè)結(jié)構(gòu),要爭(zhēng)取讓信息服務(wù)產(chǎn)業(yè)成為東莞產(chǎn)業(yè)轉(zhuǎn)型升級(jí)的一個(gè)龍頭。

冰火兩重天,百度痛失大將的第二天騰訊招來了ai專家張潼 | 大數(shù)據(jù)24小時(shí):

尤其是對(duì)于剛剛在中國(guó)起步的人工智能、大數(shù)據(jù)等領(lǐng)域而言,具有相關(guān)經(jīng)驗(yàn)的技術(shù)人才更是鳳毛麟角,成為眾多企業(yè)搶奪的目標(biāo)。 此輪融資完成之后,資金將全部用于技術(shù)開發(fā)、品牌推廣以及分支機(jī)構(gòu)建設(shè)中。? 此外,該公司的智能機(jī)器人買房顧問系統(tǒng),可以為購(gòu)房者提供決策輔助,實(shí)現(xiàn)針對(duì)性的營(yíng)銷服務(wù)。 五、深圳市今年年底將建立政府大數(shù)據(jù)中心日前,在最新一期的《市政府公報(bào)》上發(fā)布的《深圳市2017年推進(jìn)“互聯(lián)網(wǎng)+政務(wù)服務(wù)”改革工作計(jì)劃要點(diǎn)》中顯示,為加強(qiáng)深圳市政務(wù)信息資源的開放共享,政府計(jì)劃將于今年年底建立政府大數(shù)據(jù)中心 六、中國(guó)電子與北京大學(xué)合作,共建大數(shù)據(jù)國(guó)家實(shí)驗(yàn)室近日,中國(guó)電子與北京大學(xué)宣布已經(jīng)達(dá)成了戰(zhàn)略合作關(guān)系,雙方并聯(lián)合多家高校、企業(yè)共同建立了大數(shù)據(jù)分析與應(yīng)用技術(shù)國(guó)家工程實(shí)驗(yàn)室。

ps成美國(guó)制裁手段:禁運(yùn)國(guó)家停止服務(wù)但不退款,用戶被迫找盜版:

今年7月份,github也以美國(guó)政府行政命令為由對(duì)伊朗、克里米亞等地的賬戶斷供,而且毫無預(yù)警。adobe事件,可以說是這一斷供手法再度上演,而且來得更加猛烈。 封禁賬號(hào),付費(fèi)也不退錢對(duì)于斷供的細(xì)節(jié),adobe也在公司官網(wǎng)上給出了詳細(xì)的文檔說明。他們所遵守的美國(guó)政府行政命令, 編號(hào)13884,于今年8月份頒布。? 至于何時(shí)解禁,adobe也給出了說法:第13884號(hào)行政命令沒有到期日,是否撤銷完全由美國(guó)政府決定。我們將繼續(xù)密切監(jiān)視事態(tài)發(fā)展,并將在法律允許的范圍內(nèi)盡一切努力恢復(fù)委內(nèi)瑞拉的服務(wù)。 而且, 這家公司也正在放棄對(duì)基于激活序列號(hào)版本軟件的支持。這兩天,一些升級(jí)了mac新操作系統(tǒng)catalina用戶發(fā)現(xiàn),他們此前夠購(gòu)買的cs6版本軟件,已經(jīng)無法使用。 與此同時(shí),他也提出了一個(gè)問題:我們應(yīng)該采取什么措施來減輕這些措施對(duì)委內(nèi)瑞拉人的影響?同樣,在社交媒體上也有不少人對(duì)美國(guó)這一制裁政策展開批評(píng),認(rèn)為這并沒有達(dá)到自己想要的政治目的,反而殘害了更多的老百姓。

轉(zhuǎn)載請(qǐng)注明出處,本站網(wǎng)址:http://www.impactshared.com/news_1733.html
相關(guān)推薦
熱門TAG

常德做網(wǎng)站 廣東哪家網(wǎng)站制作公司好 福田區(qū)做網(wǎng)站 伽師縣網(wǎng)站設(shè)計(jì) 峨邊彝族自治縣網(wǎng)站建設(shè) 云南SEO網(wǎng)站優(yōu)化 便宜的網(wǎng)站建設(shè)公司 山海關(guān)企業(yè)網(wǎng)站開發(fā) 西安網(wǎng)站建設(shè)公司 市轄區(qū)SEO網(wǎng)站優(yōu)化 富寧做網(wǎng)站 渝北區(qū)公司網(wǎng)站建設(shè) seo服務(wù)網(wǎng)站 新蕪區(qū)自助建站 鞍山網(wǎng)站開發(fā) 網(wǎng)站制作策劃 南芬政府公文系統(tǒng) 網(wǎng)站怎么優(yōu)化seo 靈武市網(wǎng)頁(yè)設(shè)計(jì) 磴口做網(wǎng)站 海林市政務(wù)OA 萬盛區(qū)SEO網(wǎng)站優(yōu)化 東莞網(wǎng)站制作的公司 建一個(gè)網(wǎng)站的步驟 網(wǎng)站優(yōu)化排名公司 涉 縣自助建站 潁上縣網(wǎng)站設(shè)計(jì) 武進(jìn)區(qū)網(wǎng)頁(yè)設(shè)計(jì) 蘇尼特右旗公司網(wǎng)站建設(shè) 吳橋SEO網(wǎng)站優(yōu)化 好建站 濟(jì)陽(yáng)縣網(wǎng)站設(shè)計(jì) 新田縣SEO網(wǎng)站優(yōu)化 平山網(wǎng)頁(yè)設(shè)計(jì) 市轄區(qū)自助建站 沙依巴克區(qū)網(wǎng)站設(shè)計(jì) 天門市做網(wǎng)站 富拉爾基區(qū)政務(wù)OA 市轄區(qū)政府辦公oa系統(tǒng) 漢中SEO網(wǎng)站優(yōu)化 北京旅游網(wǎng)站建設(shè) 內(nèi)鄉(xiāng)縣做網(wǎng)站 古冶網(wǎng)站建設(shè) 蒲城縣SEO網(wǎng)站優(yōu)化 seo公司 北京 本溪網(wǎng)站制作 方城縣政務(wù)oa系統(tǒng) 市轄區(qū)企業(yè)網(wǎng)站開發(fā) 普蘭店網(wǎng)站建設(shè) 新興縣網(wǎng)站建設(shè) 沈陽(yáng)企業(yè)自助建站系統(tǒng) 北安市政府公文系統(tǒng) 遵義網(wǎng)頁(yè)設(shè)計(jì) 燈塔政府oa系統(tǒng) 吉木乃縣做網(wǎng)站 臨汾網(wǎng)站建設(shè) 應(yīng)城市網(wǎng)站設(shè)計(jì) 洞口縣SEO網(wǎng)站優(yōu)化 渭源縣做網(wǎng)站 浮梁縣網(wǎng)頁(yè)設(shè)計(jì) 江永縣網(wǎng)站設(shè)計(jì) 遂川縣自助建站 羅甸縣政府辦公oa系統(tǒng) 霍山縣人民政府電話 市中區(qū)網(wǎng)站設(shè)計(jì) 武定網(wǎng)頁(yè)設(shè)計(jì) 岳陽(yáng)縣SEO網(wǎng)站優(yōu)化 吉林公司網(wǎng)站建設(shè) 沂源縣網(wǎng)頁(yè)設(shè)計(jì) 容 縣自助建站 荔波縣網(wǎng)站建設(shè) 好的建站網(wǎng)站 梧州網(wǎng)站建設(shè) 曲松縣自助建站 寶雞政務(wù)oa系統(tǒng) HR大數(shù)據(jù)分析與經(jīng)營(yíng)模擬決策平臺(tái)題目

临朐县| 深水埗区| 宁安市| 河源市| 丰原市| 县级市| 夏津县| 郯城县| 蚌埠市| 静海县| 沙坪坝区| 盖州市| 舞阳县| 阿合奇县| 玉环县| 江源县| 弥渡县| 华安县| 湖南省| 高台县| 岳阳市| 贵港市| 宁津县| 堆龙德庆县| 商水县| 广灵县| 武义县| 华坪县| 托克托县| 万源市| 新乡市| 揭阳市| 中西区| 延寿县| 犍为县| 隆尧县| 舒兰市| 达日县| 天峻县| 耿马| 利津县|