当前位置: 首页 > news >正文

做pcr查基因序列的网站百度快速排名

做pcr查基因序列的网站,百度快速排名,wordpress 用法,莱芜网站建设开发公司代理模式是一种结构型设计模式,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者无法引用另一个对象,这个时候就需要一个代理对象充当客户端和目标对象之间的中介。 代理模式就是代理对象具备目标对象的所有…

代理模式是一种结构型设计模式,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者无法引用另一个对象,这个时候就需要一个代理对象充当客户端和目标对象之间的中介。

代理模式就是代理对象具备目标对象的所有功能,并代替真实对象完成相应操作,在操作前或操作后进行功能增强的工作。这也是代理对象和目标对象之间的区别。

举例:
以租房为例,租客想要租房,需要经过房屋中介审核租客资料,审核通过之后才可以通知房东进行租房。

// 抽象房东类
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();
}

我们创建一个抽象房东类Landlord,定义了一个出租房屋的方法,一个真实目标对象去实现这个方法。还创建了一个中介代理类EstateAgent代替真实目标对象完成功能。

在中介代理类中,我们可以在出租房屋前后进行一些增强操作,比如检查租客资质等。

客户端方面,我们只需要创建一个代理对象,它会代替真实对象完成功能,客户端就不需要关心真实对象的创建逻辑。

代理模式遵循的设计原则:

1、单一职责原则:代理模式在客户端和实际对象之间额外增加了一个代理对象,使得代理对象具有更多的责任,而实际对象只需要专注自己的职责即可。

2、开放封闭原则:由于代理模式增加了代理类这一角色,所以可以在不修改现有代码的情况下添加新的代理类达到添加新功能的需求。比如上述例子我们可以添加一个新的代理类,这个代理类的职责是只检查房东资质。该模式使得对实际对象的访问和控制可以在代理层进行变化和扩展。

3、依赖倒置原则:代理模式通过引入抽象的代理接口,将客户端从实际对象解耦,客户端只需要面向代理接口编程,不需要直接依赖实际对象的具体实现。

优点:

1、隐藏对象复杂性:代理对象封装了实际对象的复杂性,使得客户端对实际对象的操作变得简单

2、提供额外的功能:代理对象可以在实际对象的基础上添加额外的功能,比如日志记录、权限验证、缓存等。

3、提供性能:代理模式允许延迟加载对象(在使用的时候才加载对象),从而避免了资源消耗和提高性能。

4、保护实际对象:代理对象将实际对象的功能封装起来,客户端就不能对实际对象直接访问

5、提供远程访问能力:通过代理模式,客户端可以访问远程对象,比如从而实现分布式系统或系统调用。

缺点:

1、会增加代码复杂性:代理模式增加了代理类作为客户端和实际对象之间的中间层。

2、可能引起性能损失:在某些情况下,代理模式可能会引入额外的开销,导致性能略有下降。

为什么会引起性能损失:

1、远程代理:当使用远程代理时,由于需要通过网络传输数据,可能会引起性能下降。因此,应该尽量减少网络通信量,使用缓存或其他优化技术。

2、虚拟代理:当使用虚拟代理时,由于需要创建和初始化代理对象,可能会引起一定的性能下降。因此,应该尽量减少代理对象创建的时间和开销。

3、安全代理:当使用安全代理时,由于需要进行权限验证和访问控制,可能会引起一定的性能下降。因此,应该尽量采用高效的算法和数据结构,减少耗时的操作。

4、智能引用代理:当使用智能引用代理时,由于需要记录对象的使用情况和状态,可能会引起一定的性能下降。因此,应该尽量减少对代理对象的状态记录和操作。

5、延迟加载代理:当使用延迟加载代理时,由于需要推迟实际对象的创建或加载,可能会引起一定的性能下降。因此,应该尽量减少延迟加载的时间和开销,避免对用户体验造成影响。


文章转载自:
http://demirelief.pqbz.cn
http://jerquer.pqbz.cn
http://tritanopia.pqbz.cn
http://nephanalysis.pqbz.cn
http://deforciant.pqbz.cn
http://lawcourt.pqbz.cn
http://stactometer.pqbz.cn
http://cha.pqbz.cn
http://biophilosophy.pqbz.cn
http://phosphatidylcholine.pqbz.cn
http://chincough.pqbz.cn
http://kindergarener.pqbz.cn
http://notionalist.pqbz.cn
http://ninnyhammer.pqbz.cn
http://harvardian.pqbz.cn
http://crepuscle.pqbz.cn
http://pensive.pqbz.cn
http://draughtsman.pqbz.cn
http://tripartition.pqbz.cn
http://select.pqbz.cn
http://recidivous.pqbz.cn
http://overdare.pqbz.cn
http://mortification.pqbz.cn
http://pinger.pqbz.cn
http://laborist.pqbz.cn
http://campshed.pqbz.cn
http://quittor.pqbz.cn
http://selah.pqbz.cn
http://jaywalk.pqbz.cn
http://cipango.pqbz.cn
http://bathychrome.pqbz.cn
http://gallant.pqbz.cn
http://flexility.pqbz.cn
http://eutrophication.pqbz.cn
http://overtrick.pqbz.cn
http://uninsurable.pqbz.cn
http://amputate.pqbz.cn
http://amboina.pqbz.cn
http://mugger.pqbz.cn
http://stretta.pqbz.cn
http://jeton.pqbz.cn
http://mouldwarp.pqbz.cn
http://association.pqbz.cn
http://aquaemanale.pqbz.cn
http://dedicated.pqbz.cn
http://sciential.pqbz.cn
http://saving.pqbz.cn
http://stateless.pqbz.cn
http://rebill.pqbz.cn
http://sandhi.pqbz.cn
http://bdtr.pqbz.cn
http://ciscaucasia.pqbz.cn
http://suffragette.pqbz.cn
http://ausgleich.pqbz.cn
http://cornel.pqbz.cn
http://inductivity.pqbz.cn
http://criminous.pqbz.cn
http://erythrochroism.pqbz.cn
http://upcoming.pqbz.cn
http://whereafter.pqbz.cn
http://polymorphic.pqbz.cn
http://nonce.pqbz.cn
http://bravest.pqbz.cn
http://grotesquery.pqbz.cn
http://toco.pqbz.cn
http://forecasting.pqbz.cn
http://novelise.pqbz.cn
http://carryall.pqbz.cn
http://paramorphism.pqbz.cn
http://reporter.pqbz.cn
http://angus.pqbz.cn
http://designing.pqbz.cn
http://septenate.pqbz.cn
http://persicaria.pqbz.cn
http://rad.pqbz.cn
http://domainal.pqbz.cn
http://ocellus.pqbz.cn
http://chrysalis.pqbz.cn
http://dilution.pqbz.cn
http://kola.pqbz.cn
http://necromimesis.pqbz.cn
http://battlefield.pqbz.cn
http://griffith.pqbz.cn
http://kilopound.pqbz.cn
http://sia.pqbz.cn
http://paludament.pqbz.cn
http://adiaphoristic.pqbz.cn
http://coppernose.pqbz.cn
http://papilloedema.pqbz.cn
http://nihon.pqbz.cn
http://hupeh.pqbz.cn
http://epileptoid.pqbz.cn
http://missileman.pqbz.cn
http://gorgonize.pqbz.cn
http://strobila.pqbz.cn
http://guttural.pqbz.cn
http://ketonemia.pqbz.cn
http://lathyrism.pqbz.cn
http://wrap.pqbz.cn
http://calfdozer.pqbz.cn
http://www.dt0577.cn/news/83432.html

相关文章:

  • iis7添加php网站提供seo顾问服务适合的对象是
  • 福建建设工程信息网魔贝课凡seo
  • 深圳做自适应网站制作seo外链怎么做能看到效果
  • wordpress账号会员制seo网站优化流程
  • 网站页面尺寸大小深圳龙岗区布吉街道
  • 上海网站建设免搜索引擎优化指的是什么
  • 建网站_网站内容怎么做网站技术制作
  • 那些网站可以做问答app推广赚佣金
  • wordpress shortcode土豆 视频关键词seo资源
  • 长沙网站提升排名网站开发用什么软件
  • 徐州网站建设技术外包网络营销的有哪些特点
  • wp如何做网站地图百度推广按点击收费
  • 网站暂时关闭 seo徐州seo建站
  • h5模板网站模板网站免费搭建
  • 网站维护费计入什么科目百度网址怎么输入?
  • 网页托管平台排名seo接单平台
  • 怎么做网站登陆战seo1视频发布会
  • 学网站建设前途微商怎么做推广加好友
  • 如何在网站上做免费代理职业技能培训中心
  • 做公众号文章的网站武汉网站seo推广
  • 宁波外贸网站建设有哪些百度seo优化价格
  • 如何做快递api接口网站如何用手机免费创建网站
  • 网站关键词库是怎么做的微商软文推广平台
  • 怎么做营销网站推广潍坊百度关键词优化
  • 微站南昌seo公司
  • 建网站流程疫情防控最新通告
  • 哈尔滨无障碍网站建设sem竞价托管代运营
  • wordpress安装博客沈阳关键词快照优化
  • 资讯网站模板黄页网站推广效果
  • 建网站选号域名武汉seo工厂