中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)頁設計與制作視頻seo網(wǎng)絡推廣優(yōu)勢

網(wǎng)頁設計與制作視頻,seo網(wǎng)絡推廣優(yōu)勢,新會網(wǎng)站建設,小型企業(yè)網(wǎng)站開發(fā)現(xiàn)狀代理模式是一種結構型設計模式,為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個對象不適合或者無法引用另一個對象,這個時候就需要一個代理對象充當客戶端和目標對象之間的中介。 代理模式就是代理對象具備目標對象的所有…

代理模式是一種結構型設計模式,為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個對象不適合或者無法引用另一個對象,這個時候就需要一個代理對象充當客戶端和目標對象之間的中介。

代理模式就是代理對象具備目標對象的所有功能,并代替真實對象完成相應操作,在操作前或操作后進行功能增強的工作。這也是代理對象和目標對象之間的區(qū)別。

舉例:
以租房為例,租客想要租房,需要經(jīng)過房屋中介審核租客資料,審核通過之后才可以通知房東進行租房。

// 抽象房東類
class Landlord
{
public:virtual ~Landlord() {}virtual void Rent() = 0;
};// 具體房東類
class RealLandlord: public Landlord
{
public:virtual void Rent() override{std::cout << "房東出租房屋" << std::endl;}
};// 中介代理
class EstateAgent: public Landlord
{
public:EstateAgent(){}virtual void Rent() override{if (CheckTenant()){std::cout << "中介已代理,接受租客請求" << std::endl;if (!landLord_)landLord_ = std::make_shared<RealLandlord>();landLord_->Rent();std::cout << "中介代理,簽訂租約" << std::endl;}elsestd::cout << "抱歉,您的資質審核未通過" << std::endl;}private:bool CheckTenant(){// 檢查租客資質// ....return true;	// 假設檢查成功}private:std::shared_ptr<Landlord> landLord_;
};

測試:

void TestProxy()
{std::shared_ptr<Landlord> agent = std::make_shared<EstateAgent>();agent->Rent();
}

我們創(chuàng)建一個抽象房東類Landlord,定義了一個出租房屋的方法,一個真實目標對象去實現(xiàn)這個方法。還創(chuàng)建了一個中介代理類EstateAgent代替真實目標對象完成功能。

在中介代理類中,我們可以在出租房屋前后進行一些增強操作,比如檢查租客資質等。

客戶端方面,我們只需要創(chuàng)建一個代理對象,它會代替真實對象完成功能,客戶端就不需要關心真實對象的創(chuàng)建邏輯。

代理模式遵循的設計原則:

1、單一職責原則:代理模式在客戶端和實際對象之間額外增加了一個代理對象,使得代理對象具有更多的責任,而實際對象只需要專注自己的職責即可。

2、開放封閉原則:由于代理模式增加了代理類這一角色,所以可以在不修改現(xiàn)有代碼的情況下添加新的代理類達到添加新功能的需求。比如上述例子我們可以添加一個新的代理類,這個代理類的職責是只檢查房東資質。該模式使得對實際對象的訪問和控制可以在代理層進行變化和擴展。

3、依賴倒置原則:代理模式通過引入抽象的代理接口,將客戶端從實際對象解耦,客戶端只需要面向代理接口編程,不需要直接依賴實際對象的具體實現(xiàn)。

優(yōu)點:

1、隱藏對象復雜性:代理對象封裝了實際對象的復雜性,使得客戶端對實際對象的操作變得簡單

2、提供額外的功能:代理對象可以在實際對象的基礎上添加額外的功能,比如日志記錄、權限驗證、緩存等。

3、提供性能:代理模式允許延遲加載對象(在使用的時候才加載對象),從而避免了資源消耗和提高性能。

4、保護實際對象:代理對象將實際對象的功能封裝起來,客戶端就不能對實際對象直接訪問

5、提供遠程訪問能力:通過代理模式,客戶端可以訪問遠程對象,比如從而實現(xiàn)分布式系統(tǒng)或系統(tǒng)調用。

缺點:

1、會增加代碼復雜性:代理模式增加了代理類作為客戶端和實際對象之間的中間層。

2、可能引起性能損失:在某些情況下,代理模式可能會引入額外的開銷,導致性能略有下降。

為什么會引起性能損失:

1、遠程代理:當使用遠程代理時,由于需要通過網(wǎng)絡傳輸數(shù)據(jù),可能會引起性能下降。因此,應該盡量減少網(wǎng)絡通信量,使用緩存或其他優(yōu)化技術。

2、虛擬代理:當使用虛擬代理時,由于需要創(chuàng)建和初始化代理對象,可能會引起一定的性能下降。因此,應該盡量減少代理對象創(chuàng)建的時間和開銷。

3、安全代理:當使用安全代理時,由于需要進行權限驗證和訪問控制,可能會引起一定的性能下降。因此,應該盡量采用高效的算法和數(shù)據(jù)結構,減少耗時的操作。

4、智能引用代理:當使用智能引用代理時,由于需要記錄對象的使用情況和狀態(tài),可能會引起一定的性能下降。因此,應該盡量減少對代理對象的狀態(tài)記錄和操作。

5、延遲加載代理:當使用延遲加載代理時,由于需要推遲實際對象的創(chuàng)建或加載,可能會引起一定的性能下降。因此,應該盡量減少延遲加載的時間和開銷,避免對用戶體驗造成影響。

http://www.risenshineclean.com/news/39057.html

相關文章:

  • 安平誰做網(wǎng)站好如何推廣自己的業(yè)務
  • 網(wǎng)站開發(fā) 方案搜索引擎優(yōu)化課程總結
  • 網(wǎng)站鏈接的常見形式如何把品牌推廣出去
  • 備案網(wǎng)站的黑名單完整的品牌推廣方案
  • 開源企業(yè)網(wǎng)站建設系統(tǒng)seo網(wǎng)站優(yōu)化教程
  • 公眾號和網(wǎng)站先做哪個廣告投放平臺
  • 建設網(wǎng)站需要的軟硬件重慶公司seo
  • 南昌做網(wǎng)站優(yōu)化價格愛站工具包官網(wǎng)下載
  • 網(wǎng)站開發(fā)學什么編程語言怎么開網(wǎng)店
  • 游戲代理300元一天網(wǎng)絡seo是什么意思
  • 深圳市南山區(qū)住房和建設局官方網(wǎng)站抖音seo排名優(yōu)化公司
  • 做請?zhí)W(wǎng)站b站推廣app大全
  • 上饒商城網(wǎng)站建設百度識圖在線使用
  • 創(chuàng)立一個網(wǎng)站得多少錢整站優(yōu)化關鍵詞推廣
  • 萬戶網(wǎng)絡騙局泉州百度推廣排名優(yōu)化
  • 體現(xiàn)網(wǎng)站特色全球熱門網(wǎng)站排名
  • 建材網(wǎng)站建設 南寧sem代運營托管公司
  • 中山制作企業(yè)網(wǎng)站廣州網(wǎng)站制作服務
  • 公司介紹網(wǎng)站怎么做只要做好關鍵詞優(yōu)化
  • 商城小程序定制公司搜索引擎優(yōu)化的重要性
  • 收錄網(wǎng)站是怎么做的網(wǎng)絡營銷首先要
  • 織夢網(wǎng)站在css中怎樣做導航關鍵詞優(yōu)化公司靠譜推薦
  • 2019做網(wǎng)站需要營業(yè)執(zhí)照嗎2022最好的百度seo
  • 網(wǎng)頁源代碼搜索關鍵字如何seo推廣
  • php網(wǎng)站開發(fā)過程免費下載b站視頻軟件
  • 云南昆明做網(wǎng)站西安競價托管公司
  • 做網(wǎng)站需要什么基礎百度開發(fā)者平臺
  • 網(wǎng)站彈窗客服怎樣搭建自己的網(wǎng)站
  • 鹽城微網(wǎng)站建設廣州王牌seo
  • 開發(fā)一個網(wǎng)站的步驟推廣軟件賺錢的app