![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
design
ningto.com
个人站点:https://ningto.com
展开
-
高质量子程序核查表(代码大全2)
高质量子程序核查表子程序:为了实现一个特定的目的而编写的一个可被调用的方法(method)或过程(procedure)。例如C++中的函数(function)。大局事项:1.创建子程序的理由充分吗?2.一个子程序中所有适于单独提出的部分是不是已经被提出到单独的子程序中了?3.过程的名字中是否用了强烈、清晰的“动词+宾语”词组?函数的名字是否描述了其返回值?4.子程序的名字是否描述了它所做的全部事情?5.是否给常用的操作建立了命名规则?6.子程序是否具有强烈的功能上的内聚性?即它是否做且只做一件事,并且把它做原创 2011-03-22 20:10:00 · 1096 阅读 · 0 评论 -
设计模式-单例模式
单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然原创 2011-07-13 09:39:52 · 633 阅读 · 0 评论 -
观察者模式
Observer模式要解决的问题为:建立一个一(Subject)对多(Observer)的依赖关系,并且做到当“一”变化的时候,依赖这个“一”的多也能够同步改变 观察者模式(有时又被称为发布/订阅模式)是软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。原创 2013-12-05 21:28:00 · 1005 阅读 · 0 评论 -
observer观察者模式
观察者模式(有时又被称为发布/订阅模式)是软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。 例子: 假设这里有一份股票数据,分别用柱形图和树状图进行显示,当数据改变了要通知这两个图表更改显示内容。 #include #include #i原创 2013-08-18 10:46:41 · 692 阅读 · 0 评论 -
封装消息处理
一个消息可能会进行多种处理,把各种handle抽象出来,在我们需要某种handle的时候,将其加入到handle group进行集中处理 #include #include #include #include typedef std::string Message; class MessageHandle { public: virtual void handle(Mess原创 2012-09-01 12:37:03 · 1370 阅读 · 0 评论 -
设计模式-抽象工厂模式
wiki上的抽象工厂模式讲的蛮好的,尤其是例子选的很好。 抽象工厂模式(英语:Abstract Factory)是一种常见的设计模式。此模式为一个产品家族提供了统一的创建接口。当需要这个产品家族的某一系列的时候,可以从抽象工厂中选出相对系的系列来创建一个具体的工厂类别。 假设我们有两种产品接口 Button 和 Border ,每一种产品都支持多种系列,比如 Mac 系列和 Windows 系转载 2011-07-19 20:55:14 · 610 阅读 · 0 评论 -
设计模式-简单工厂模式
工厂方法模式 是一种面向对象的设计模式。通过调用不同的方法返回需要的类,而不是去实例化具体的类。 对实例创建进行了包装。 工厂方法是一组方法, 他们针对不同条件返回不同的类实例,这些类一般有共同的父类。 工厂方法模式实施一种按需分配的策略, 即传入参数进行选择, 工厂方法根据参数进行选择,返回具体的实例。 // Product.h #ifndef _PRODUCT_H_ #define原创 2011-07-14 10:50:44 · 551 阅读 · 0 评论 -
C++类和接口的设计原则探讨
我这篇文章的主旨是介绍一部分类和接口的高质量设计的准则。这些准则不但应该保证设计并且实现的类或者接口本身有高质量代码,而且更重要的是在工业领域应该尽可能的使代码的更新和维护不影响客户的活动,主要也就是保持二进制代码兼容(binary compatibility)和源代码兼容(source compatibility)。我希望这些准则能帮助刚从学校进入工业领域的朋友尽快适应更高标准的编程要求,尽转载 2012-08-20 22:13:56 · 701 阅读 · 0 评论 -
设计模式-适配器模式
在设计模式 (计算机)中,适配器模式(英语:adapter pattern)有时候也称包装样式或者包装。将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类工作在一起,做法是将类别自己的接口包裹在一个已存在的类中。 有两类适配器模式: ·对象适配器模式 - 在这种适配器模式中,适配器容纳一个它我包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。原创 2012-07-10 11:03:19 · 595 阅读 · 0 评论 -
设计模式-原型模式
原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的“原型”,这个原型是可定制的。 原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据。 #include class Prototype { public原创 2012-07-10 10:20:51 · 549 阅读 · 0 评论 -
依赖 关联 聚合 组合 泛化
世界是普遍联系的,因此程序世界中的类,也不可能是孤立的。 UML 为我们定义了它们之间的关系,就是:依赖、关联、聚合、组合还有泛化。 泛化关系比较好理解,就是表示类之间的继承关系。容易混淆的是依赖、关联、聚合和组合的关系。这里做一些甄别:原创 2011-01-17 10:32:00 · 1122 阅读 · 0 评论 -
被误解的MVC和被神化的MVVM
被误解的 MVC MVC 的历史 MVC,全称是 Model View Controller,是模型 (model)-视图 (view)-控制器 (controller) 的缩写。它表示的是一种常见的客户端软件开发框架。 MVC 的概念最早出现在二十世纪八十年代的 施乐帕克 实验室中(对,就是那个发明图形用户界面和鼠标的实验室),当时施乐帕克为 Smalltalk 发明了转载 2015-12-12 11:04:40 · 1772 阅读 · 0 评论