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

自己做网站软件开发工程师年终工作总结

自己做网站,软件开发工程师年终工作总结,商务网站建设策划书2000字,wordpress翻页按钮颜色前言 结构模式可以让我们把很多小的东西通过结构模式组合起来成为一个打的结构,但是又不影响各自的独立性,尽可能减少各组件之间的耦合。 Adapter Class/Object(适配器) Bridge(桥接) Composite(组合) Decorator(装饰) 动态…

前言

结构模式可以让我们把很多小的东西通过结构模式组合起来成为一个打的结构,但是又不影响各自的独立性,尽可能减少各组件之间的耦合。

Adapter Class/Object(适配器)

Bridge(桥接)

Composite(组合)

Decorator(装饰)

动态地给一个对象添加一些额外的职责(不重要的功能,只是偶然一次要执行),就增加功能来说,装饰模式比生成子类更为灵活。建造过程不稳定,按正确的顺序串联起来进行控制。
GOOD:当你向旧的类中添加新代码时,一般是为了添加核心职责或主要行为。而当需要加入的仅仅是一些特定情况下才会执行的特定的功能时(简单点就是不是核心应用的功能),就会增加类的复杂度。装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。

在这里插入图片描述

decorator.h


#ifndef CLION_TEST_DECORATOR_H
#define CLION_TEST_DECORATOR_H#include <string>
#include <iostream>
using namespace std;// 人
class Person
{
private:string m_strName;
public:Person(string strName) {m_strName = strName;}Person() {}virtual void Show(){cout<<"装扮的是:"<<m_strName<<endl;}
};// 装饰类
class Finery:public Person
{
protected:Person* m_component;
public:void Decorate(Person* component) {m_component = component;}void Show() override{m_component->Show();}
};// T恤
class TShirts:public Finery
{
public:void Show() final{cout<<"T Shirts ";m_component->Show();}
};// 裤子
class BigTrouer: public Finery
{void Show() final{cout<<"Big Trouer ";m_component->Show();}
};#endif //CLION_TEST_DECORATOR_H

main.cpp

#include <iostream>
#include "decorator.h"using namespace std;int main() {system("chcp 65001");// 装饰模式Person *p = new Person("小李");BigTrouer *bt = new BigTrouer();TShirts *ts = new TShirts();bt->Decorate(p);ts->Decorate(bt);ts->Show();return 0;
}

输出:

T Shirts Big Trouer 装扮的是:小李

调用关系:

TShirts::Show ==> BigTrouer::Show ==> Person::Show

Facade(外观)

Flyweight(享元)

Proxy(代理)

代理模式

GOOD:远程代理,可以隐藏一个对象在不同地址空间的事实
虚拟代理:通过代理来存放需要很长时间实例化的对象
安全代理:用来控制真实对象的访问权限
智能引用:当调用真实对象时,代理处理另外一些事
在这里插入图片描述

proxy.h

#ifndef CLION_TEST_PROXY_H
#define CLION_TEST_PROXY_H#include <string>
#include <iostream>using namespace std;// 定义接口
class Interface {
public:virtual void Request() = 0;
};// 真实类
class RealClass : public Interface {
public:void Request() final {cout << "真实的请求" << endl;}
};// 代理类
class ProxyClass : public Interface {
private:RealClass *m_realClass;
public:void Request() final {if (m_realClass == nullptr) {m_realClass = new RealClass();}m_realClass->Request();}
};#endif //CLION_TEST_PROXY_H

main.cpp

int main() {ProxyClass* test = new ProxyClass();test->Request();return 0;
}

调用关系:

ProxyClass::Request ==> RealClass::Request 

后记

http://www.yayakq.cn/news/193673/

相关文章:

  • 广东哪家网站建设哪家公司好在电脑制作手机网站用什么软件
  • wordpress网站下载文件深圳seo排名哪家好
  • 域名注册最好的网站二手交易网站建设方案ppt
  • 北京市住房建设投资中心网站网站备案地点选择
  • 公司邮箱一般用哪个怎么提高seo关键词排名
  • 宁夏网站推广网站的html
  • 网站建设详细流程基于asp.net网站开发视频教程
  • 做门户网站需要学什么软件网站注册需要多少钱
  • 海口模板建站定制wordpress的title
  • 网站站点建设的端口重庆建设企业网站
  • 五指山网站开发价格wap网站开发培训
  • 编程猫的网站是什么Python建网站的步骤
  • 网站的信息管理建设的必要性codeorg免费编程网站
  • 手机最全的网站如何做推广引流赚钱
  • 江汉网站建设做购物商城类网站需要
  • 聊城网站优化网络推广厦门装修公司网站建设
  • 网站设计网站优化公司手机如何开发软件程序
  • 建设网站制作平面设计速成班多少钱
  • 山东专业的网站建设任丘建设网站制作
  • 建网站的域名是什么意思flash网站php源码
  • h5网站开发工具有哪些浙江建设平台官网
  • 网站建立者深圳php电商网站开发
  • 足球门户网站建设深圳市中心是哪个区
  • 秦皇岛网站制作报价大业推广网站
  • 漳浦县建设局网站开发公司与物业公司合同
  • 光谷软件园企业网站建设公司wordpress 小说连载
  • 湖南营销型网站建设价格漳州网站建设企业
  • wordpress 微信打赏做网站优化的公司
  • 三水建设局招标网站上海助君网络科技有限公司
  • 南昌网站建设冲浪者科技福州建网站 做网页