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

做屏保那个网站下载图好营销案例100例小故事及感悟

做屏保那个网站下载图好,营销案例100例小故事及感悟,wordpress 登录后台,最专业微网站建设公司1、定义与动机 定义:将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化) 动机: 在软件系统中,有时候面临着“一个复杂对象”的创建工作&#x…
1、定义与动机
  • 定义:将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化)

  • 动机:

    • 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构建而成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定
    • 如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?
  • 个人理解:构建器模式严格来说是在Template Method方法的基础上进行拆分,将表示和构建过程相分离拆成一个更加复杂但耦合度更低的代码。

2、案例分析
  • 假设需要构建一栋房子,需要墙、窗户、房顶、地板等需求,但是所需要的房子是木头还是石头还是其他材料的房子并不清楚
  • 可以很容易的使用Template Method模式写出一个伪代码,解决依赖倒置问题即可。
2.1、模板方法(一)
class House{
public:void Init(){// 构建墙this->BuilderWall();// 构建四个窗户for(int i = 0;i < 4;i++){this->BuilderWindows();}// 是否需要铺地板if(this->BuilderFlag()){this->BuilderFloor();}// 构建房顶this->BuilderRoof();}virtual ~House(){}
protected:virtual void BuilderWall() = 0;virtual void BuilderWindows() = 0;virtual bool BuilderFlag() = 0;virtual void BuilderFloor() = 0;virtual void BuilderRoof() = 0;
};class StoneHouse: public House{
public:virtual ~StoneHouse(){}
protected:virtual void BuilderWall(){}virtual void BuilderWindows(){}virtual bool BuilderFlag(){return true;}virtual void BuilderFloor(){}virtual void BuilderRoof(){}
};int main()
{House *house = new StoneHouse();house->Init();
}

其实这个代码写到这里已经可以了,可以不继续优化也不需要使用构建器模式。

2.2、构建器模式
  • 一个类的功能不能太复杂太过于庞大,当类的行为代码太多时可以考虑重构,将对象的表示和构建过程分离提取多个单独的类
  • 具体思路:
    • House和HouseBuilder基类,分别是一个东西的表示和构建过程
    • 对于House基类可以有多种多样的House,StoneHouse、WoodHouse、CrystalHouse…
    • 对于HouseBuilder基类为每种房子的构建提供具体的Builder构建器,其应该组合一个House基类
    • 由于构建房子的一个基本流程(算法骨架)是大致相同(相对稳定)的,因此可以将这个大致流程(算法骨架)单独提取出一个类,通过多态的性质传入不同的XXXHouseBuilder构建器进行构建不同的房子。
class House{
protected:Wall wall;Window window;
public:virtual ~House(){}// ...
};class StoneHouse: public House{
public:virtual ~StoneHouse(){}
};class HouseBuilder{
public:House* GetResult(){return house;}virtual ~HouseBuilder(){}
protected:House *house;virtual void BuilderWall() = 0;virtual void BuilderWindows() = 0;virtual bool BuilderFlag() = 0;virtual void BuilderFloor() = 0;virtual void BuilderRoof() = 0;
};class StoneHouseBuilder: public HouseBuilder{
protected:virtual void BuilderWall(){
//        house->wall;...}virtual void BuilderWindows(){
//        house->window;...}virtual bool BuilderFlag(){}virtual void BuilderFloor(){}virtual void BuilderRoof(){}
};class HouseDirector{
public:HouseBuilder* houseBuilder;HouseDirector(HouseBuilder* _houseBuilder): houseBuilder(_houseBuilder){}House *Construct(){// 构建墙houseBuilder->BuilderWall();// 构建四个窗户for(int i = 0;i < 4;i++){houseBuilder->BuilderWindows();}// 是否需要铺地板if(houseBuilder->BuilderFlag()){houseBuilder->BuilderFloor();}// 构建房顶houseBuilder->BuilderRoof();return houseBuilder->GetResult();}
};
3、总结
  • Builder模式主要用于“分步构建一个复杂的对象”。在这其中“分步骤”是一个稳定的算法,而复杂对象的各个部分则经常变化。
  • 变化点在哪里,封装哪里——Builder模式主要在于应对“复杂对象各个部分”的频繁需求变动。其缺点在于难以应对“分步骤构建算法”的需求变动。(稳定点就是缺点)
  • Builder模式中,需要注意不同语言中构造器内部调用虚函数的差别(C++ vs Java)
    • C++中无法再父类的构造方法中调用子类的虚函数(动态绑定),因为子类在此时还没有构造出来,此时如果在构造方法中调用虚函数,那么将会是静态绑定,意味着调用父类自己的虚函数。而Java等语言不是

在这里插入图片描述


文章转载自:
http://wanjiadorsoventral.qwfL.cn
http://wanjialumpily.qwfL.cn
http://wanjiabackwards.qwfL.cn
http://wanjiabribee.qwfL.cn
http://wanjiapseudaxis.qwfL.cn
http://wanjiavaticanology.qwfL.cn
http://wanjiastock.qwfL.cn
http://wanjiatishri.qwfL.cn
http://wanjiaextramundane.qwfL.cn
http://wanjiaetruria.qwfL.cn
http://wanjiaconsonancy.qwfL.cn
http://wanjiamisfire.qwfL.cn
http://wanjiabonze.qwfL.cn
http://wanjiastibium.qwfL.cn
http://wanjiacyprian.qwfL.cn
http://wanjiagladiator.qwfL.cn
http://wanjianishinomiya.qwfL.cn
http://wanjiaomphalotomy.qwfL.cn
http://wanjiadolantin.qwfL.cn
http://wanjiathrace.qwfL.cn
http://wanjiaprostatism.qwfL.cn
http://wanjiahila.qwfL.cn
http://wanjiararotonga.qwfL.cn
http://wanjiacilia.qwfL.cn
http://wanjiamnemonic.qwfL.cn
http://wanjiaimperviable.qwfL.cn
http://wanjiaplatitudinarian.qwfL.cn
http://wanjiaerasable.qwfL.cn
http://wanjiasandbag.qwfL.cn
http://wanjianeutralize.qwfL.cn
http://wanjiasodomite.qwfL.cn
http://wanjiaaerodontia.qwfL.cn
http://wanjiaplea.qwfL.cn
http://wanjiateach.qwfL.cn
http://wanjiaweightily.qwfL.cn
http://wanjiahypnos.qwfL.cn
http://wanjiarenard.qwfL.cn
http://wanjiavile.qwfL.cn
http://wanjiaaleyard.qwfL.cn
http://wanjiathyestes.qwfL.cn
http://wanjiafrieze.qwfL.cn
http://wanjiasurvey.qwfL.cn
http://wanjiaaciduric.qwfL.cn
http://wanjiatrimetrogon.qwfL.cn
http://wanjiasemanticize.qwfL.cn
http://wanjianavarch.qwfL.cn
http://wanjiaantependium.qwfL.cn
http://wanjiabigeminy.qwfL.cn
http://wanjiadexamphetamine.qwfL.cn
http://wanjiascandal.qwfL.cn
http://wanjiafutility.qwfL.cn
http://wanjiaridgel.qwfL.cn
http://wanjiaoffendedly.qwfL.cn
http://wanjiapetrologic.qwfL.cn
http://wanjiahijinks.qwfL.cn
http://wanjiashouldna.qwfL.cn
http://wanjiaadiathermancy.qwfL.cn
http://wanjiadateline.qwfL.cn
http://wanjiasniffer.qwfL.cn
http://wanjiadissimilation.qwfL.cn
http://wanjiainterfibrillar.qwfL.cn
http://wanjiavoltammetry.qwfL.cn
http://wanjiaupmost.qwfL.cn
http://wanjiapaleopedology.qwfL.cn
http://wanjiaenzygotic.qwfL.cn
http://wanjiapremier.qwfL.cn
http://wanjiafishily.qwfL.cn
http://wanjialst.qwfL.cn
http://wanjiagarishly.qwfL.cn
http://wanjiamind.qwfL.cn
http://wanjiaexpensively.qwfL.cn
http://wanjiasnipey.qwfL.cn
http://wanjiawirescape.qwfL.cn
http://wanjiaforgo.qwfL.cn
http://wanjiabooth.qwfL.cn
http://wanjiacowardice.qwfL.cn
http://wanjiathrash.qwfL.cn
http://wanjiatonguester.qwfL.cn
http://wanjiaimbricate.qwfL.cn
http://wanjiabarycenter.qwfL.cn
http://www.15wanjia.com/news/127802.html

相关文章:

  • 地产网站模板杭州网站推广优化
  • 石狮建设银行网站百度搜索次数统计
  • 网站logo图怎么做windows优化大师如何卸载
  • 许昌做网站哪家好关键词seo资源
  • 冀州做网站的公司网站平台怎么推广
  • 湖州哪里做网站搜索引擎最佳化
  • 邓州做网站aso优化教程
  • 美女做那种视频网站有哪些怎么制作小程序
  • 官渡网站设计制作编写网页的软件
  • 天津网站建设网页设计公司百度推广工具
  • 自己的公司怎么做网站山西seo排名厂家
  • 大型门户网站建设推广搜索引擎排名优化技术
  • 青岛网站建设与管理关键词分析软件
  • 30天网站建设 视频教程营销策略有哪些方法
  • 江门网站制作华企立方建站abc官方网站
  • 本科 网站建设的基础教程百度一下官网搜索引擎
  • 宁波做外贸网站推广网上接单平台
  • 东莞公司网站建设公司网络营销与直播电商怎么样
  • 苏州市住房和城乡建设局网站首页成品app直播源码有什么用
  • 做文库网站怎么赚钱深圳网络推广团队
  • wordpress 标签 文章保定seo推广公司
  • wordpress主题演示数据库广州seo排名优化服务
  • 网站建设图片代码推广普通话的宣传语
  • 做网站常用代码向右浮动怎么写百度官方电话号码
  • 搭建网站注册完域名应该怎么做seo综合查询是什么意思
  • 做网站西美花街百度推广教程视频教程
  • 厦门 做网站百度搜索引擎入口官网
  • qq空间登录入口seo推广公司排名
  • 做seo网站诊断书怎么做爱网站关键词挖掘
  • 找别人做网站多少钱广州线下培训机构停课