go语言设计模式
文章平均质量分 67
用户名老是占用
我是一只很胖的程序猴。
展开
-
go语言实现设计模式(一):策略模式
策略模式定义了算法家族,在调用算法家族的时候不感知算法的变化,客户也不会受到影响。下面用《大话设计模式》中的一个实例进行改写。例:超市中经常进行促销活动,促销活动的促销方法就是一个个策略,如“满一百减20”,“打八折”等。现在实现策略模式,用CashContext生产策略,并完成策略的调用。1.首先定义所有策略的接口。1原创 2015-10-31 22:28:02 · 2223 阅读 · 1 评论 -
go语言实现设计模式(二):简易工厂
简易工厂主要是用来解决对象“创建”的问题。以下的例子取自《大话设计模式》中第一章,实现一个可扩展的“计算器”。当增加新的功能时,并不需改动原来已经实现的算法。由于是简易工厂,所以我们还是需要对工厂类进行相应修改。1.首先,我们定义一个计算的接口package calctype CalcSuper interface { SetData(data ...interface{}) Cal原创 2015-11-01 10:29:36 · 1924 阅读 · 1 评论 -
go语言实现设计模式(三):模版模式
模版模式真的是一个好东西。所谓模版模式,就是说,某几个类中相同的操作和代码提取到父类的一个函数中,并定义相同的操作为抽象函数。由子类来实现。估计我也没表达清楚,下面还是看代码来讲解吧。例:我们有两个文档处理程序,一个处理本地数据,一个处理网络数据。这两个类的功能和执行步骤高度类似,但是,获取数据的方式不同。在这两个类中势必存在大量结构相同的代码。现在,我们使用模版模式来重构这两个类。1.定义父类,在原创 2015-11-01 21:34:52 · 1047 阅读 · 1 评论 -
go语言实现设计模式:前言
转眼间工作快4个月了,让我欣喜的是在工作中,我接触到了一直以来让我念念不忘的go语言。在我还是个学生时,就对这门新兴的语言有着兴趣,但当时只是浅尝辄止。在这4个月中,对go语言的了解从无到有,慢慢加深,我越发感受到它的美好。甚至我对它的喜爱超越了陪伴我多时的C#。项目组中大部分都是曾经写内核态程序的大神,这也使得面向对象的概念在我们现在的程序中并不明显。这无疑给了我一个大大的宝藏,这些尚未设计的地方原创 2015-11-01 10:59:40 · 857 阅读 · 0 评论