收录了 gof 频道下的 50 篇内容
二十年前,软件设计领域的四位大师(GoF,“四人帮”,又称Gang of Four,即Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides)通过论著《设计模式:可复用面向对象软件的基础》阐述了设计模式领域的开创性成果。
使用领域模型,很少会像创建实际领域模型类,使用它们那么简单。很快你就会发现,领域模型必须得到相当数量的基础架构代码的支持。 在文章中,Mats说明了如何使用域模型管理涉及设计和关注点分离的问题,解释了解决问题的方法.
如果把设计模式类比为武侠世界里的武功招式,那么SOLID原则就是内功内力。通常来说,先把内功练好,再来学习招式,会达到事半功倍的效果。
StackExchange 网站的一名用户 Matt Goforth 提出了一个问题,是否应当在负载均衡设备上将 SSL 进行卸载,他担心应用服务器收到的数据完整性是否会因此受到影响。而回贴的用户都赞成这种做法,并给出了相应的理由。
命令模式可将请求转换为一个包含与请求相关的所有信息的对象, 它能将请求参数化、延迟执行、实现 Undo / Redo 操作等。
在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外进行保存,以便在未来将对象恢复到原先保存的状态。
工厂方法模式(Factory Method Pattern)将对象创建的逻辑封装起来,为使用者提供一个简单易用的对象创建接口,常用于不指定对象具体类型的情况下创建对象的场景。
单例模式虽然简单易用,但也是最容易被滥用的设计模式。它并不是“银弹”,在实际使用时,还需根据具体的业务场景谨慎使用。
命令模式可将请求转换为一个包含与请求相关的所有信息的对象, 它能将请求参数化、延迟执行、实现 Undo / Redo 操作等
设计模式的主要区别在于设计意图,也就应用场景。单纯的看设计模式或代码有些模式具有相似性,如策略模式和工程模式。
如果把设计模式类比为武侠世界里的武功招式,那么SOLID原则就是内功内力。通常来说,先把内功练好,再来学习招式,会达到事半功倍的效果
原型模式(Prototype Pattern)主要解决对象复制的问题,它的核心就是 Clone() 方法,返回原型对象的复制品。