GO
lsj3210
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go语言用container/list实现栈(Stack)
go语言中的container有heap、list、ring,没有stack。 其中heap是优先级队列,虽然有Push()/Pop()接口,但是使用heap要实现heap.Interface接口,不够简洁。 所以这里用list封装了一个简单的stack,留作他用。 package stack import "container/list" type Stack s转载 2016-10-27 10:03:10 · 1280 阅读 · 0 评论 -
二、大话设计模式 之 策略模式
模式特点:定义算法家族并且分别封装,它们之间可以相互替换而不影响客户端。 程序实例:商场收银软件,需要根据不同的销售策略方式进行收费 package main import ( "fmt" ) type cashSuper interface { AcceptCash(float64) float64 } type cashNormal struct { } func (normal转载 2016-11-16 11:15:34 · 298 阅读 · 0 评论 -
一、大话设计模式 之 简单工厂模式
模式特点:工厂根据条件产生不同功能的类。 程序实例:四则运算计算器,根据用户的输入产生相应的运算类,用这个运算类处理具体的运算。 package main import ( "fmt" ) //BaseOperation接口 type Operation interface { getResult() float64 SetNumA(float64) SetNumB(float64)转载 2016-11-16 09:43:53 · 297 阅读 · 0 评论 -
三、大话设计模式 之 装饰模式
模式特点:动态地为对象增加额外的职责 程序实例:展示一个人一件一件穿衣服的过程。 package main import ( "fmt" ) type Person struct { Name string } func (p *Person) show() { fmt.Println("装扮的", p.Name) } type AbstractPerson interface { s转载 2016-11-16 11:21:18 · 377 阅读 · 0 评论 -
四、大话设计模式 之 代理模式
模式特点:为其他对象提供一种代理以控制对这个对象的访问。 程序实例:同模式特点描述。 package main import ( "fmt" ) type SchoolGirl struct { name string } func (s *SchoolGirl) setName(name string) { s.name = name } func (s *SchoolGirl) g转载 2016-11-16 11:24:04 · 286 阅读 · 1 评论
分享