优秀企业网站模板下载,微网站建设c,所有网站打不开,宁波网站建设使用技巧分享一、说一下你熟悉的设计模式#xff1f;
**设计模式#xff1a;**是一套被反复使用的代码设计经验的总结#xff08;情境中一个问题经过证实的一个解决方案#xff09;。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简…一、说一下你熟悉的设计模式
**设计模式**是一套被反复使用的代码设计经验的总结情境中一个问题经过证实的一个解决方案。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简单方便的复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。
**创建型**Abstract Factory抽象工厂模式Builder建造者模式Factory Method工厂方法模式Prototype原始模型模式Singleton单例模式
**结构型**Facade门面模式Adapter适配器模式Bridge桥梁模式Composite合成模式Decorator装饰模式Flyweight享元模式Proxy代理模式
**行为型**Command命令模式Interpreter解释器模式Visitor访问者模式Iterator迭代模式Mediator调停者模式Memento备忘录模式Observer观察者模式State状态模式Strategy策略模式Template Method模板方法模式 Chain Of Responsibility责任链模式。
二、简单工厂、工厂方法和抽象工厂有何区别
工厂模式是分为三种分别是简单工厂工厂方法抽象工厂。其中工厂方法和抽象工厂是GoF23种设计模式中的一种而简单工厂则不是一种设计模式更加可以理解的是一种编码时候约定俗成的一种习惯。那么就在接下来三点中分别去分析理解工厂模式。
**简单工厂模式**是由一个工厂对象创建产品实例简单工厂模式的工厂类一般是使用静态方法通过不同的参数的创建不同的对象实例可以生产结构中的任意产品不能增加新的产品
简单工厂的优点 不需要关心类的创建细节。减轻类之间的耦合依赖具体类的实现只是依赖于简单工厂而不依赖其他类。 简单工厂的缺点 扩展复杂当简单工厂需要生产出另外一种产品的时候需要扩展工厂的内部创建逻辑比较有可能引起较大的故障由于工厂类集中了所有实例的创建逻辑违反了高内聚责任分配原则将全部创建逻辑集中到了一个工厂类中
**工厂方法**是定义一个创建对象的接口让实现这个接口的的类去决定实例化具体的类。工厂方法让类的实例化推迟到实现接口的子类中进行。
**抽象工厂模式**提供一个创建一系列相关或相互依赖对象的接口而无需制定他们具体的类生产多个系列产品生产不同产品族的全部产品不能新增产品可以新增产品族 区别
简单工厂唯一工厂类一个产品抽象类工厂类的创建方法依据入参判断并创建具体产品对象。工厂方法多个工厂类一个产品抽象类利用多态创建不同的产品对象避免了大量的if-else判断。抽象工厂多个工厂类多个产品抽象类产品子类分组同一个工厂实现类创建同组中的不同产品减少了工厂子类的数量。
注以上内容仅提供参考和交流请勿用于商业用途如有侵权联系本人删除
注此博客只是为了记忆相关知识点大部分为网络上的文章在此向各个文章的作者表示感谢