文件名称:go-design-pattern:golang设计模式go设计模式实现,包含23种常见的设计模式实现,同时这也是极客时间-设计模式之美的笔记
文件大小:4.36MB
文件格式:ZIP
更新时间:2024-04-09 11:02:00
go golang design-patterns golang-design-pattern go-design-patterns
去设计模式 总结 原本预计是在十月底更新完毕这个系列,到今天是11-05,晚了几天,不过也还好,这是第一次这么密集的去更新博客上的内容,更多的是以笔记的形式来呈现,加上这份一共24篇文章差不多两个半月的时间,平均每周输出两篇,感觉还是不错。后续可能会视情况不定期的更新一些实战内容,也有可能没有。一个系列应该是数据结构与算法,包含对 话说回来,回头再看学习设计模式我们真正需要学习一些什么? 写Go需要使用到设计模式么? 需要,但是切切不要使用其他语言的方式来写Go 如果看过之前的一些文章,就会发现类似JAVA的这些面向对象语言中的某些设计模式的写法在Go中会十分的别扭 但是Go不需要设计模式么?不是的,设计模式的思想是想通的,并且我们一直都在使用,例如我们常见的对象创建方式NewXXX这其实就是一个简单工厂 设计模式学习的重点是什么? 设计原则,以及设计模式的使用场景和优缺点,实现相对而言还
【文件预览】:
go-design-pattern-master
----16_state()
--------state.go(2KB)
--------state_test.go(456B)
----01_singleton()
--------readme.md(412B)
--------singleton.go(222B)
--------singleton_test.go(465B)
--------img.jpg(577KB)
--------singleton_lazy.go(274B)
--------singleton_lazy_test.go(489B)
----09_facade()
--------facade_test.go(684B)
--------readme.md(495B)
--------facade.go(936B)
----13_template()
--------template.go(1KB)
--------template_test.go(199B)
----20_command()
--------command_func.go(874B)
--------command.go(1KB)
--------command_test.go(922B)
--------command_func_test.go(919B)
----02_factory()
--------021_simple_factory()
--------readme.md(969B)
--------022_factory_method()
--------024_di()
--------023_abstract_factory()
----03_builder()
--------option.go(1KB)
--------builder.go(2KB)
--------builder_test.go(1KB)
--------option_test.go(1KB)
----readme.md(8KB)
----.github()
--------workflows()
----08_adapter()
--------readme.md(428B)
--------adapter_test.go(436B)
--------adapter.go(1KB)
----readme_en.md(20B)
----17_iterator()
--------iterator_test.go(318B)
--------iterator.go(822B)
----06_bridge()
--------bridge.go(952B)
--------bridge_test.go(271B)
----22_mediator()
--------mediator_test.go(532B)
--------mediator.go(2KB)
----12_observer()
--------122_eventbus()
--------121_observer()
----05_proxy()
--------static_proxy.go(890B)
--------static_proxy_test.go(216B)
--------dynamic_proxy_test.go(705B)
--------dynamic_proxy.go(4KB)
----21_interpreter()
--------interpreter.go(3KB)
--------interpreter_test.go(816B)
----imgs()
--------img01.jpg(1001KB)
--------img02.jpg(3.4MB)
----11_flyweight()
--------flyweight_test.go(367B)
--------flyweight.go(947B)
----10_composite()
--------composite_test.go(184B)
--------composite.go(899B)
----18_visitor()
--------visitor_test.go(1KB)
--------visitor.go(2KB)
----19_memento()
--------memento.go(1015B)
--------memento_test.go(884B)
----.gitignore(3KB)
----04_prototype()
--------prototype.go(931B)
--------prototype_test.go(823B)
----go.sum(1024B)
----15_chain()
--------chain.go(1KB)
--------chain_test.go(350B)
----14_strategy()
--------strategy.go(1KB)
--------strategy_test.go(548B)
----07_decorator()
--------decorator.go(537B)
--------decorator_test.go(250B)
----go.mod(99B)