zoukankan      html  css  js  c++  java
  • 中介模式和学习日记Effective C++

    中介模式(Mediator):利用中介对象来封装一组对象交互。中保使对象并不需要显式地相互引用,使得松耦合,的交互。

    (1)。中介者模式非常easy在系统中应用,也非常easy在系统中误用。当系统出现多对多交互复杂的对象群时。不要急于使用中介者模式,而要反思你在系统的设计上是不是合理。

    (2),中介者的出现降低了各个对象的耦合,使得能够独立地改变和复用各个对象和中介者。

    (3),因为把对象怎样协作进行了抽象,将中介者作为一个独立的概念并将其封装在一个对象中,这样关注的对象就从对象各自本身的行为转移到他们的交互上来了,也就是站在一个更宏观的角度去看待系统。

    (4),因为详细的中介者控制了集中化,于是就把交互复杂性变成了中介者的复杂性,这就使得中介者会变得比不论什么一个详细对象都复杂。

    (5)。中介者模式一般应用于一组对象以定义良好可是复杂的方式进行通信的场合,以及想定制一个分布在多个类中的行为,而又不像生成太多子类的场合。


    Effective C++:


    1:运用成员函数模板接受全部兼容类型

    (1),请使用 member function templates (成员函数模板)生成“可接受所以兼容类型”的函数。

    (2),假设你声明 member templates 用于“泛化 copy 构造“或”泛化 assignment 操作“,你还是须要声明正常的 copy 构造函数和 copy assignment 操作符。


    2:须要类型转换时轻微模板定义非成员函数。

    (1)。当我们编写一个类模板(class template),而它所提供之”与此 template 相关的“函数支持”全部參数之隐式类型转换“时,保持定义为那些功能”class template 里面 friend 功能“。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    VS2010 自动跳过代码现象
    Reverse Linked List II 【纠结逆序!!!】
    Intersection of Two Linked Lists
    Linked List Cycle II
    Remove Nth Node From End of List 【另一个技巧,指针的指针】
    Swap Nodes in Pairs
    Merge Two Sorted Lists
    Remove Duplicates from Sorted List
    Linked List Cycle
    Dungeon Game
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4735696.html
Copyright © 2011-2022 走看看