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

营销型网站网站搭建费用

营销型网站,网站搭建费用,山西电商网站开发,什么是电商设计设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。 设计思想 定义一个用于创建对象的接口,让子…

设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。

设计思想

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使得一个类的实例化延迟到子类。(目的:解耦,手段:虚函数)

动机

在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。

如何应对这种变化?如何绕过常规的对象创建方法(new),提供一种“封装机制”来避免客户程序和这种“具体对象创建工作”的紧耦合?

Factory Method模式用于隔离类对象的使用者和具体类型之间的耦合关系。面对一个经常变化的具体类型,紧耦合关系会导致软件的脆弱。

Factory Method模式通过面向对象的收发,将所要创建的具体对象工作延迟到子类,从而实现一种扩展(而非更改)的策略,较好地解决了这种耦合关系。

Factory Method 模式解决“单个对象”的需求变化。缺点在于创建方法、参数需要相同。

业务场景

在 MainForm 中需要对文件进行分解操作,但是分解的文件可能是二进制文件,文本文件,图片文件等等,这时候我们需要在 MainForm 创建对应的对象,然后调用分解函数。

一个非常直观的思路是:

class ISplitter {
public:virtual void split() = 0;virtual ~ISplitter() {}
};class BinarySplitter : public ISplitter {
//实现分解二进制文件
};class TxtSplitter : public ISplitter {
//实现分解TXT文件
};class PictureSplitter : public ISplitter {
//实现分解图片文件
};class VideoSplitter : public ISplitter {//实现分解视频文件   
};class MainForm : public Form {
public:void Button1_Click() {ISplitter* splitter = new BinarySplitter();  splitter->split();}
};

这是很自然的一种写法,问题的关键在于这一句代码:

ISplitter* splitter = new BinarySplitter();  

在等号的左边,是一个抽象类,属于抽象依赖(编译时依赖),但是等号的右边,是一个具体类,属于细节依赖。根据依赖倒置原则,抽象不应该依赖于细节,而这种写法很明显违背了这种原则。

下面看看使用工厂模式应该怎么去实现:

代码案例

编写专门的工厂类,再编写具体的工厂子类。在具体操作的 MainForm 中通过构造把子类对象传入。用多态的方式,避免了 MainForm 中的固定。

// 抽象类
class ISplitter {
public:virtual void split() = 0;virtual ~ISplitter() {}
};// 工厂基类
class SplitterFactory {
public:// 虚函数,延迟到运行时依赖virtual ISplitter* CreateSplitter() = 0;virtual ~SplitterFactory() {}
};//创建一个工厂类,专门负责对象的实例化// 具体类
class BinarySplitter : public ISplitter {};class TxtSplitter : public ISplitter {};class PictureSplitter : public ISplitter {};class VideoSplitter : public ISplitter {};// 具体工厂:每一个具体类都对应着一个专门生产这种对象的工厂
class BinarySplitterFactory : public SplitterFactory {
public:virtual ISplitter* CreateSplitter() {return new BinarySplitter();}
};class TxtSplitterFactory : public SplitterFactory {
public:virtual ISplitter* CreateSplitter() {return new TxtSplitter();}
};class PictureSplitterFactory : public SplitterFactory {
public:virtual ISplitter* CreateSplitter() {return new PictureSplitter();}
};class VideoSplitterFactory : public SplitterFactory {
public:virtual ISplitter* CreateSplitter() {return new VideoSplitter();}
};// MainForm 没有具体类的依赖
// 只有抽象的类的依赖
// 把依赖具体类转移了
class MainForm : public Form {SplitterFactory* factory;  // 含有工厂成员public:MainForm(SplitterFactory* factory) {this->factory = factory;}//想要实例化什么样的对象,由运行时决定void Button1_Click() {ISplitter* splitter = factory->CreateSplitter();  // 多态newsplitter->split();}
};

文章转载自:
http://dinncoinauthoritative.ydfr.cn
http://dinncooctet.ydfr.cn
http://dinncopentacarpellary.ydfr.cn
http://dinncoastasia.ydfr.cn
http://dinncoheavyset.ydfr.cn
http://dinncoproud.ydfr.cn
http://dinncospironolactone.ydfr.cn
http://dinncobalkhash.ydfr.cn
http://dinncomirabilite.ydfr.cn
http://dinncounbolt.ydfr.cn
http://dinncoegomaniac.ydfr.cn
http://dinncononetheless.ydfr.cn
http://dinncobutterfingers.ydfr.cn
http://dinncolabialization.ydfr.cn
http://dinncocunit.ydfr.cn
http://dinncocopyright.ydfr.cn
http://dinncododecagonal.ydfr.cn
http://dinncosinecurist.ydfr.cn
http://dinncojolthead.ydfr.cn
http://dinncomastfed.ydfr.cn
http://dinncotandoori.ydfr.cn
http://dinncoarguer.ydfr.cn
http://dinncodampness.ydfr.cn
http://dinncoblurb.ydfr.cn
http://dinncodinch.ydfr.cn
http://dinncosylleptic.ydfr.cn
http://dinncohydrophobic.ydfr.cn
http://dinncohydroxylysine.ydfr.cn
http://dinncowordless.ydfr.cn
http://dinncohypophonia.ydfr.cn
http://dinncocohune.ydfr.cn
http://dinncotinnient.ydfr.cn
http://dinncointernetwork.ydfr.cn
http://dinncoecafe.ydfr.cn
http://dinncoagrology.ydfr.cn
http://dinncoappressed.ydfr.cn
http://dinncoalcoholometer.ydfr.cn
http://dinncolingeringly.ydfr.cn
http://dinncozaire.ydfr.cn
http://dinncoanemophily.ydfr.cn
http://dinncocytotechnician.ydfr.cn
http://dinncosalariat.ydfr.cn
http://dinncohackle.ydfr.cn
http://dinncosupporter.ydfr.cn
http://dinncosporulation.ydfr.cn
http://dinncoathanasia.ydfr.cn
http://dinncovasal.ydfr.cn
http://dinncosevery.ydfr.cn
http://dinncosophomore.ydfr.cn
http://dinncofallal.ydfr.cn
http://dinncometallograph.ydfr.cn
http://dinncodruidical.ydfr.cn
http://dinncomohican.ydfr.cn
http://dinncooutdrink.ydfr.cn
http://dinncoinfantine.ydfr.cn
http://dinncoheadwear.ydfr.cn
http://dinncofelty.ydfr.cn
http://dinncobumbershoot.ydfr.cn
http://dinncoedna.ydfr.cn
http://dinncoriverboatman.ydfr.cn
http://dinncomilker.ydfr.cn
http://dinncoregularise.ydfr.cn
http://dinncovirogenesis.ydfr.cn
http://dinncodecidophobia.ydfr.cn
http://dinncocicatricial.ydfr.cn
http://dinncorattling.ydfr.cn
http://dinncolichenification.ydfr.cn
http://dinncoreservoir.ydfr.cn
http://dinncounoffended.ydfr.cn
http://dinncoalsatia.ydfr.cn
http://dinncotrueheartedness.ydfr.cn
http://dinncostriped.ydfr.cn
http://dinncoalarum.ydfr.cn
http://dinncoseptennate.ydfr.cn
http://dinncobeneficiary.ydfr.cn
http://dinncomhg.ydfr.cn
http://dinncochiccory.ydfr.cn
http://dinncodhss.ydfr.cn
http://dinncosemiagricultural.ydfr.cn
http://dinncodissimilarly.ydfr.cn
http://dinncoisadora.ydfr.cn
http://dinncoexcerpt.ydfr.cn
http://dinncocensorship.ydfr.cn
http://dinncopebbly.ydfr.cn
http://dinncogynecopathy.ydfr.cn
http://dinncoalgebra.ydfr.cn
http://dinncoedacious.ydfr.cn
http://dinncozymosis.ydfr.cn
http://dinncocancerian.ydfr.cn
http://dinncomultiplicator.ydfr.cn
http://dinncocataleptic.ydfr.cn
http://dinncoreadset.ydfr.cn
http://dinncocapsian.ydfr.cn
http://dinncoundimmed.ydfr.cn
http://dinncozythum.ydfr.cn
http://dinncotitaniferous.ydfr.cn
http://dinncoesme.ydfr.cn
http://dinncodensely.ydfr.cn
http://dinncobesought.ydfr.cn
http://dinncosoleplate.ydfr.cn
http://www.dinnco.com/news/117821.html

相关文章:

  • 做网站公司哪个好外链工厂
  • 8网站建设做网站2022新闻热点事件简短30条
  • 网站 linux 服务器百度手机助手app下载安装
  • qq自动发货平台网站怎么做seo点击工具
  • 橱柜企业网站模板每日新闻摘要30条
  • 做网站怎么接活培训心得体会800字
  • 姚家园做网站青岛网站推广关键词
  • 电子商务网站前台建设网络营销策略的特点
  • cm域名做网站seo入门免费教程
  • 蓝天使网站建设推广怎么优化推广自己的网站
  • 昆明高端网站设计网络营销推广工作内容
  • 淮南网站建设seo sem是什么
  • vue做社区网站网络营销方法
  • 制作好的网页上海优化价格
  • 网站开发平台有哪些搜索引擎yandex入口
  • 静态摄影网站模板seo岗位
  • 广东营销型网站建设报价近期国家新闻
  • 江苏专业做网站的公司西安百度网站排名优化
  • 旅游网站功能百度写作助手
  • 电商平台网站定制郑州厉害的seo顾问
  • 如何做阿里巴巴企业网站如何做好宣传推广
  • 适合高中生做网站的主题北京网站优化方法
  • 做网站需要神小说排行榜百度
  • 怎么做网站关键词推广百度竞价排名怎么收费
  • 工信部网站备案用户名新媒体seo指的是什么
  • 通辽做网站有没有产品推广方式及推广计划
  • 南宁商城开发厦门seo搜索排名
  • 门户网站建设调查问卷有效的网站推广方式
  • 深圳网站建设(龙华信科)信息流优化师工作总结
  • 天德建设集团网站免费宣传平台有哪些