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

全屏的翻页网站这么做lng企业自建站

全屏的翻页网站这么做,lng企业自建站,网站上的小动画咋做,淘客网站开发桥接模式#xff08;Bridge Pattern#xff09;是一种结构型设计模式#xff0c;它主要是用于将抽象部分与实现部分分离#xff0c;使它们可以独立地变化。 桥接模式主要包含以下几个角色#xff1a; Abstraction#xff08;抽象类#xff09;#xff1a;定义抽象类的…桥接模式Bridge Pattern是一种结构型设计模式它主要是用于将抽象部分与实现部分分离使它们可以独立地变化。 桥接模式主要包含以下几个角色 Abstraction抽象类定义抽象类的接口它维护对Implementor的引用。RefinedAbstraction扩充抽象类扩充由Abstraction定义的接口。Implementor实现类接口定义实现类的接口该接口不一定要与Abstraction的接口完全一致事实上这两个接口可以完全不同。ConcreteImplementor具体实现类具体实现Implementor接口在不同的ConcreteImplementor中提供基本操作的不同实现。 桥接模式的主要优点是 分离抽象接口及其实现部分提供抽象和实现之间的桥梁结构而这个桥梁就是该模式的核心——抽象和实现分离这也是桥接模式的主要特点。提高了系统的可扩充性抽象和实现可以独立扩展不会相互影响由于程序的抽象化增加系统功能方便。实现细节对客户透明可以对用户隐藏实现细节。 桥接模式适用于以下场景 当一个类存在两个独立变化的维度且这两个维度都需要进行扩展时。当一个系统不希望使用继承或因为多层继承导致系统类的个数急剧增加时。当一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性时。 以下是一个简单的C实现的桥接模式Bridge Pattern示例 #include iostream// 实现部分的抽象 class Implementor { public:virtual void operationImpl() 0;virtual ~Implementor() {} };// 具体实现A class ConcreteImplementorA : public Implementor { public:void operationImpl() override {std::cout Concrete Implementor A operation... std::endl;} };// 具体实现B class ConcreteImplementorB : public Implementor { public:void operationImpl() override {std::cout Concrete Implementor B operation... std::endl;} };// 抽象部分 class Abstraction { public:Abstraction(Implementor* impl) : impl_(impl) {}virtual void operation() {impl_-operationImpl();}virtual ~Abstraction() { delete impl_; }private:Implementor* impl_; };// 扩展抽象部分 class RefinedAbstraction : public Abstraction { public:RefinedAbstraction(Implementor* impl) : Abstraction(impl) {}void operation() override {std::cout Refined ;Abstraction::operation();} };int main() {Abstraction* abstractionA new RefinedAbstraction(new ConcreteImplementorA());abstractionA-operation();Abstraction* abstractionB new RefinedAbstraction(new ConcreteImplementorB());abstractionB-operation();delete abstractionA;delete abstractionB;return 0; }在这个例子中Implementor是实现部分的抽象定义了operationImpl接口。ConcreteImplementorA和ConcreteImplementorB是具体实现实现了operationImpl接口。 Abstraction是抽象部分它维护了一个对实现部分的引用这个引用可以是抽象实现类也可以是具体实现类。在operation接口中抽象部分会调用实现部分的operationImpl接口。 RefinedAbstraction是扩展抽象部分它继承了抽象部分并可以添加新的接口。 通过这种方式我们可以将抽象部分和实现部分分离使它们可以独立地变化。 帮助理解 可以使用”毛笔“ 与 ”蜡笔“ 做比喻。 ”大小“和”颜色“ 是两个独立变化的维度。 例如大小型号有 小 中 大颜色有3种 红 蓝 黄。 对于毛笔自带大小属性增加一支毛笔结合颜色有多少种颜色就有多少种画笔使用方式。 对于蜡笔大小和颜色耦合在一起要想达到与毛笔一样的效果有多少种颜色就需要增加多少个蜡笔。
http://www.hkea.cn/news/14275020/

相关文章:

  • 怎么创建一个自己的网站网站商城具有哪些功能模块
  • 网站制作公司兴田德润怎么联系腾讯如何做网站
  • 怎么建立一个网站的快捷方式市场推广12种推广渠道
  • 什么网站做二维码比较好菏泽网站备案拍照
  • 学校网站建设问卷调查特效制作软件
  • 网站域名跳转怎么做windows删除wordpress
  • 哪里有做桥梁模型的网站小程序制作二维码
  • 电子商务网站的建设目标教育机构做网站素材
  • 网站建设询价邀请函手游发号网站模板
  • 成都网站推广公司网站备案人有什么责任
  • 什么专业是做网站免费入驻的卖货平台
  • 网站建设个体营业执照网站漏洞解决
  • vs2015 建设微网站sem是什么的英文缩写
  • 建设部 招投标网站wordpress数据都被存在哪
  • 临清网站建设费用dw网站站点建立后怎么做
  • 免费建网站哪家好本地江苏网站建设
  • 沧州手机网站哪个网络公司做网站好
  • python大型网站开发Wordpress页面打开慢
  • 天津市建设行业联合会网站做网站要考虑什么问题
  • 阿里云虚拟主机与网站吗wex5做视频网站
  • discuz 做的网站企业为什么需要流程管理
  • 群晖怎样做网站win7建网站教程
  • 做暧昧的小视频网站2北京十大装饰装修公司
  • 营销网站建设是什么意思昆明网站搜索优化
  • 新西兰网站开发专业慈溪做网站什么价
  • 长春哪家网站做的好wordpress 代理
  • 网站建设框架湖南省邵阳建设局网站
  • 网站建设会提供哪些服务中国电影家协会是什么级别
  • 青年文明号网站建设com域名免费
  • 戴尔网站建设的目标手机网站开发如何设置触摸功能