在工作中,常常使用到设计模式,增强了软件的灵活性,然而要为它们排排位置,还真是一件难事,因为每个人对设计模式的理解程度,每个人使用的编程语言,个人的习惯,工作性质等等都会影响排行榜。在这里暂且列出自己心中的排行榜吧(仅限Design Pattern中提到的设计模式)。
冠军宝座:Strategy Pattern
理由:Strategy 是封装一些运算法则,使之能互换。在工作中,总有几种选择方案,要经过 比较,选择最适合的运算法则,所以使用的频率最多。
亚军:Factory Pattern
理由:一个程序中,都会有创建对象的操作,所以用到的机会也就很多了。
季军:Observer Pattern
理由:只想问个问题,你用过回调函数吗?
第四:Facade Pattern
理由:为了封装你自己写的比较复杂的系统,给用户一个简单统一接口,你封装了一个类, 你干过这样的事吧?
第五:Mediator Pattern
理由:为何把Mediator模式放在第五位,我个人的理解是Mediator模式不仅是一种模式, 其实可以提升到一个程序的框架设计上去,现在用得越来越多了。
第六:Iterator Pattern
理由:使用到数组和链表,你就有机会使用Iterator Pattern。
第七:Bridge Pattern
理由:把实现和逻辑分开,这样的情况很多很常见。
第八:Template Method
理由:把公用的东西提炼到superclass中去,不同的在子类中实现,听着很熟的话吧?
第九:Command Pattern
理由:发出请求,这是我们喜欢干的事。理由比较牵强。
第十:State Pattern
理由:一个对象有不同的状态,这样的情况也很多。
上述的排名只是个人的想法,有些我也说不出很好的理由。不知你是如何认为的?说说理由。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架