![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计架构
iuhsihsow
行路难!行路难!多歧路,今安在?
长风破浪会有时,直挂云帆济沧海。
展开
-
代码重构-了解你的代码:cloc + simian
文章目录前言cloc安装使用Simian安装使用前言关于代码重构有很多书籍,理论和工具。准备开个系列边学习边分享。这次先学习和介绍两个比较简单的工具。cloccloc counts blank lines, comment lines, and physical lines of source code in many programming languages.cloc主要用于统计代码行数,会统计空格、注释和我们工程中,各项代码的分布情况。显示效果如下:repo地址:https://gi原创 2020-09-17 10:16:11 · 488 阅读 · 0 评论 -
未进行,标题占位(设计模式,抽象类工厂模式二)
使用反射来配置类工厂包括:1.C++反射的实现2.该机制下的抽象类工厂模式原创 2013-01-31 13:49:28 · 717 阅读 · 0 评论 -
设计模式之单例模式
单例模式是为了防止类被多次创建。例如系统中的log日志类,就可以创建一个单例的做为系统主日志。http://blog.csdn.net/iuhsihsow/article/details/8543742原创 2013-01-31 23:12:05 · 1030 阅读 · 0 评论 -
设计模式之代理模式,C++实现
原创:http://blog.csdn.net/iuhsihsow这一篇主要参照了《大话设计模式》//代理模式:为其他对象提供一种代理以控制这个对象的访问 //简而言之就是给对象加一个壳 //1.远程代理 //2.虚拟代理 //3.安全代理 //4.智能指引 //问1:代理模式和聚合关系有什么区别,感觉适配器模式也能解决类似问题?原创 2012-11-29 09:32:45 · 1857 阅读 · 1 评论 -
设计模式之解释器模式,C++实现
借用下设计模式的图代码表示不是比较正规的实现。不过设计模式嘛,随心而设计,差不多是那个意思,“认真你就输了// Interpert.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include using namespace原创 2013-03-10 19:53:19 · 2785 阅读 · 0 评论 -
设计模式之访问者模式,C++实现
设计模式不能滥用啊先借一张图// Visitor.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"// 访问者模式(vistor), 表示一个作用于某对象结构中的各元素的操作,// 它使你可以在不改变各元素类的前提下定义作用于这些元素的操作// 假设一个绘制软件,只能够绘制线面两种类型的图形// 但是每个图形都原创 2013-03-11 09:32:30 · 3015 阅读 · 0 评论 -
设计模式之迭代器模式,C++下的讨论
C++ stl里面有迭代器,看stl源码貌似更好,泛型编程嘛有机会写一段解析stl源码的体会。写了一部分关于stl中迭代的代码http://blog.csdn.net/iuhsihsow/article/details/8664123原创 2013-01-31 23:07:22 · 865 阅读 · 0 评论 -
设计模式之组合模式
想不出组合模式优缺点,我觉得和一般的树形结构都差不多。恩,不,还是有不同的,一般的二叉树和四叉树,他们的节点都是属于同一类型一般的树class Node{public:Node* pParent;std::list subNodeList;};组合模式:class Component{public:Add(Component* p原创 2013-01-31 23:05:37 · 923 阅读 · 0 评论 -
设计模式之桥接模式
将整体里面的可能变化的部分抽象出来其实个人对桥接模式不是很理解,貌似接触的里面没有这么复杂的结构不过还是多用聚合,少用继承吧。(总觉得聚合组合比较好管理,一个好的继承是需要千锤百炼的,多重继承,多层继承的内存消耗不可小觑)自己对这个模式都没有怎么理解,那么写出的代码估计也不敢恭维,不过还是写下来,作为记录吧。// Bridge.cpp : Defines t原创 2013-02-01 16:23:03 · 1015 阅读 · 0 评论 -
设计模式之享元模式,C++实现
享元模式很常见,是一种减小内存的方式,大到三维场景中的一个房子,小到文字处理系统中的一个英文字母,都可以使用享元模式。借鉴一下《大话设计模式》中的uml图吧下面是代码:// Flyweight.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include usin原创 2013-03-04 16:57:39 · 2489 阅读 · 0 评论 -
Python中的并发编程(2): 并行与并发
并行与并发很多人都会有一个问题,并发(Concurrency)和并行(Parallelism)是一个概念吗?它们之间有什么区别呢?只有在充分了解概念的情况下,才能在接下来的学习中,不被文献中充斥的各种概念弄混淆;在实践中,也能更好的选择实现手段。一般说来,并发,指的是多个任务能够同时存在,是否同时执行并不重要,而并行,主要侧重于多个任务之间能够同时进行。所以,我们也可以理解为并行是并发的一...原创 2018-03-19 15:15:10 · 1448 阅读 · 0 评论 -
初探设计模式(C++实现)专栏索引
由于专栏里面文章较多,所以建立一个索引,以备参考:代码地址:bentan2013/try-cpp-design-pattern专栏目录:Refer to iuhsihsow 的设计模式专栏名称blog link前言前言Abstract Factory抽象工厂模式Adapter适配器模式Bridge桥接模式Builder建造者模式Chain Of Respon...原创 2018-03-28 22:16:52 · 365 阅读 · 0 评论 -
设计模式之备忘录
原理也比较简单,就是提取类的一部分信息作为一个备份// Memento.cpp : Defines the entry point for the console application.//#include "stdafx.h"// 备忘录模式(Memento): 再不跑坏封装性的前提下// 捕获一个对象的内部状态, 并在对象之外保存这个状态//原创 2013-01-31 22:09:33 · 1005 阅读 · 0 评论 -
设计模式之抽象工厂,C++实现(一)
本部分就说明最简单的抽象工厂实现,当然在实际项目应用中不会这么做,仅为解释该模式。上图的抽象 工厂有两个工厂,分别生产对应的ProductA和ProductB(可以假想为蓝色或者红色的两种产品A22 = 4)下面为简单代码示例// 抽象工厂模式(Abstract Factory),提供一个创建 // 一系列相关或相互依赖对象的接口,而无需指定他们具体的类原创 2013-01-05 22:59:20 · 1299 阅读 · 0 评论 -
设计模式之策略模式,C++实现
原创: http://blog.csdn.net/iuhsihsow//策略模式 //抽象出算法 //可适应算放的频繁改动 //问1:和简单工厂有什么区别?//答1:策略模式主要是将算法提炼出来,一个大的context中可以包括多个算法,便于context中算法的的自由配置, //一次配置,多次使用,维持context的稳定性。 //简单类工厂模式主要原创 2012-11-29 09:35:58 · 1269 阅读 · 0 评论 -
设计模式之简单工厂模式,C++实现
原创http://blog.csdn.net/iuhsihsow只上图和代码吧#include "stdafx.h" #include enum EOperator { ADD_OPER, SUB_OPER }; class MathOperator { public: MathOperator(){;} virtual原创 2012-11-29 09:38:03 · 1395 阅读 · 0 评论 -
设计模式之原型模式,C++实现
原创:http://blog.csdn.net/iuhsihsow其实个人觉得原型模式在C++也就那样吧。反正设计一个类,如果有需要都会重载=或者设置深拷贝函数。所以就简单写一下吧。示意图,UML还是不太会代码:#include "stdafx.h" #include #include #include #include #in原创 2012-12-07 13:23:54 · 2290 阅读 · 0 评论 -
设计模式之模板方法模式,C++实现
原创 http://blog.csdn.net/iuhsihsow一种比较简单的模式,恩,就简单的写个了例子。参照《C++ primer》和《大话设计模式》类图,这次直接抄了个图以下是代码// 模板方法模式, 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 // 模板方法使得子类可以不改变一个算法的结构既可冲定义该算法的某些特定步骤。原创 2012-12-11 15:03:14 · 2000 阅读 · 0 评论 -
设计模式之外观模式
原文地址: http://blog.csdn.net/iuhsihsow外观模式主要是用于对底层细节的封装,当然,要结合每个系统的上层应用。比如很多三维软件就是对DX或者OpenGL的底层细节进行了封装,可以这么说吧下面是类图下面是代码// 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式 // 定义了一个高程接口,这个原创 2012-12-12 09:32:11 · 1686 阅读 · 3 评论 -
设计模式之建造者模式,C++实现
原文地址: http://blog.csdn.net/iuhsihsow其实一直在文中注明C++实现确实没有太大意义,无非是C++用指针来实现多态而非对象本身。今天事情比较多,就偷下懒吧。抄的《大话设计模式》的图下面是实现代码,恩,基本上也是抄的。照着敲了一遍。// 建造者模式(Builder),将一个复杂对象的构造与它的表示分离, // 使得原创 2012-12-13 10:04:15 · 1296 阅读 · 0 评论 -
设计模式之观察者模式,C++实现(上部分)
原文地址: http://blog.csdn.net/iuhsihsow说起观察者模式犹如黄河之水,滔滔不绝,一发而不可收拾啊。今天先写上半部分,明天写事件委托。直接上代码,感谢scl的分享// 观察者模式定义了一种一对多的依赖,让多个观察者对象同时监听某一个 // 主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使 //原创 2012-12-14 18:05:00 · 2417 阅读 · 2 评论 -
The Art of Unix中文版读书笔记
原创 2012-12-31 10:23:24 · 1811 阅读 · 1 评论 -
C#面向对象设计模式纵横谈(1) 面向对象设计模式与原则
之前听的讲座,整理了一下,发出来,不错的哦!GoF 23 种设计模式• 历史性著作《设计模式:可复用面向对象软件的基础》一书中描述了23种经典面向对象设计模式,创立了模式在软件设计中的地位。该书四位作者被人们并称为Gang of Four (GoF),“四人组”,该书描述的23种经典设计模式又被人们称为GoF 23 种设计模式。• 由于《设计模式:可复用面向对象软件的基础》一书转载 2012-02-13 11:59:19 · 738 阅读 · 1 评论 -
设计模式之观察者模式,C++实现(下部分)
原文地址: http://blog.csdn.net/iuhsihsow恩,这部分就是单纯的委托了直接贴代码// 委托就是i一种引用方法的类型,一旦为委托分配了方法,委托将与 // 该方法具有完全相同的行为,委托方法的使用可以像其他任何方法一样, // 具有参数和返回值,委托可以看做是对函数的抽象,是函数的“类”,委托 // 的实例代表一个具体的函数 // 委托原创 2012-12-15 17:51:55 · 1388 阅读 · 0 评论 -
设计模式之命令模式,C++实现
命令模式应该是应用比较广泛的模式各种编辑操作都会用到,可以将实现与操作分离,解析用户操作为一部分代码,实现用户操作的目的又封装到另外一个地方,或者是命令模式的派生类或者是对象自身内部《大话设计模式》中的贴图代码:// Command.cpp : Defines the entry point for the console application.//原创 2013-01-31 23:46:25 · 2028 阅读 · 1 评论 -
设计模式之适配器,C++实现
大家应该用得比较多,就只上代码// AdapterMode.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"// 适配器模式(Adapter),将一个类的借口转换成客户端希望// 的另外一个借口,适配器模式使得原本由于借口不兼容而不能// 一起工作的那些类可以一起工作// 说白了,就是改名// 情景假设:一个计算类的派生类由原创 2013-01-31 16:22:08 · 1074 阅读 · 0 评论 -
设计模式之Decorator,C++
原创 http://blog.csdn.net/iuhsihsow多多关注哦最近重构程序,必须得研究下设计模式,于是写了一个C++例子。//装饰模式 //动态的给一个对象添加一些额外的职责, //就添加功能来说,装饰模式比生成子类更加灵活 //(1) 装饰对象和真实对象有相同的接口。这样客户端对象就可以和真实对象相同的方式和装饰对象交互。原创 2012-11-28 17:10:22 · 1344 阅读 · 0 评论