
设计模式
Peter(阿斯拉达)
关注系统界面开发技术,安全,语言特性,网络,图形,AI,硬件,并发,研发流程管理.
展开
-
函数式编程的优点
原文链接:http://www.defmacro.org/ramblings/fp.html 单元测试因为函数式编程的每一个符号都是 final 的,没有函数产生过副作用。因为从未在某个地方修改过值,也没有函数修改过在其作用域之外的量并被其他函数使用(如类成员或全局变量)。这意味着函数求值的结果只是其返回值,而惟一影响其返回值的就是函数的参数。这是单元测试者的梦中仙境(转载 2014-03-27 09:49:01 · 5212 阅读 · 0 评论 -
[设计模式]_[初级]_[关于设计的目的][未完待续]
设计的目的就是:1.更容易扩展,意思是扩展只需要写少量代码,扩展不影响原有功能。2.更容易维护,意思是代码量更好,逻辑更清晰。3.效率更高,意思是代码执行时间更短,占用内存更少。原创 2015-05-11 17:24:00 · 921 阅读 · 0 评论 -
[设计模式]_[中级]_[观察者模式在项目中实际使用例子]
场景:1. 比如在界面开发中,多个窗口之间需要通讯,比较常见的方法就是各个窗口之间包含对其他窗口的引用,之后在需要时通过其他窗口的引用来调用相应的函数获取相应的值;但是这个确定还是比较明显的,就是会造成窗口之间的依赖和耦合,想想测试或变异某个窗口时另一个窗口必须是没问题的,而另一个窗口编译又依赖它,这样成了反复依赖导致编译不过或修改其中一个另一个就得相应的该。很麻烦,不好维护。2. 还有的不切实际的解决办法是在窗口之间发送事件,比如qt得信号或win32的消息,但是这样会造成消息的泛滥,资源原创 2014-09-21 15:08:37 · 3546 阅读 · 0 评论 -
[设计模式]_[中级]_[模板方法C++例子实现举例]
场景:1.有时候设计框架时定义了一套执行流程,比如定义了某个局部流程是分析文件的。但是可能根据不同有不同的分析方法,输出到统一模型里。常见的实现是根据if语句判断不同的文件再调用不同的函数来实现。也有可能有些开发人员直接在if语句体里实现。这样不统一的实现可能会造成代码难以维护,又容易出错,影响别人写好的实现。这时候如果定义了一套实现模板,开发人员只需要实现不同的子类系统即可自动识别判断。这样原创 2013-03-03 21:21:34 · 1513 阅读 · 0 评论 -
[设计模式]_[中级]_[组合模式(Composite)分析与总结]
序: 组合模式在实际开发中实在是使用的很频繁,很实用.抽象场景:1. 你想表示对象的部分-整体层次结构.[原书]-- 如果想对某些对象打包统一处理时,比如用std::vector.2. 你希望用户忽略组合对象与单个对象的不同, 用户将统一地使用组合结构中的所有对象.[原书]-- 如果想把这个打包对象和被打包的对象统一处理时,即提供一致的接口,也就是他们其实可以是父类(一般作为组合对象使用)-子类(一般作为基本对象使用)的关系.原创 2015-09-13 23:43:07 · 2122 阅读 · 0 评论 -
[设计模式]_[Object-c]_[观察者模式在项目中实际使用例子2]
场景在使用C/C++开发界面时,在两个界面通讯我们之前通过 观察者模式在项目中实际使用例子 来进行数据传输,而不是通过互相引用的方式进行数据传输,互相引用的最大缺点就是耦合严重。而在使用Object-c开发Cocoa界面时,也会出现这种情况,就是界面间如何通讯?Object-c只支持单继承,不支持多重继承,我们创建界面只能继承NSView,而不能再继承另外一个类,如何做?Obje...原创 2019-08-02 16:46:50 · 585 阅读 · 0 评论