txt做网站如何加图片,ppt设计网站有哪些,网站建设案例要多少钱,宝塔网站建设教程设计模式简介
设计模式#xff08;Design pattern#xff09;代表了最佳的实践#xff0c;通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错…设计模式简介
设计模式Design pattern代表了最佳的实践通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问设计模式于己于他人于系统都是多赢的设计模式使代码编制真正工程化设计模式是软件工程的基石如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题每种模式在现实中都有相应的原理来与之对应每种模式都描述了一个在我们周围不断重复发生的问题以及该问题的核心解决方案这也是设计模式能被广泛应用的原因。
什么是 GOF四人帮全拼 Gang of Four
在 1994 年由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software中文译名设计模式 - 可复用的面向对象软件元素 的书该书首次提到了软件开发中设计模式的概念。
四位作者合称 GOF四人帮全拼 Gang of Four 。他们所提出的设计模式主要是基于以下的面向对象设计原则。
对接口编程而不是对实现编程。优先使用对象组合而不是继承。
设计模式的使用
设计模式在软件开发中的两个主要用途。
开发人员的共同平台
设计模式提供了一个标准的术语系统且具体到特定的情景。例如单例设计模式意味着使用单个对象这样所有熟悉单例设计模式的开发人员都能使用单个对象并且可以通过这种方式告诉对方程序使用的是单例模式。
最佳的实践
设计模式已经经历了很长一段时间的发展它们提供了软件开发过程中面临的一般问题的最佳解决方案。学习这些模式有助于经验不足的开发人员通过一种简单快捷的方式来学习软件设计。
设计模式的类型
根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software中文译名设计模式 - 可复用的面向对象软件元素 中所提到的总共有 23 种设计模式。这些模式可以分为三大类创建型模式Creational Patterns、结构型模式Structural Patterns、行为型模式Behavioral Patterns。当然我们还会讨论另一类设计模式J2EE 设计模式。
序号模式 描述包括1创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。* 工厂模式Factory Pattern* 抽象工厂模式Abstract Factory Pattern* 单例模式Singleton Pattern* 建造者模式Builder Pattern* 原型模式Prototype Pattern2结构型模式这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。* 适配器模式Adapter Pattern* 桥接模式Bridge Pattern* 过滤器模式Filter、Criteria Pattern* 组合模式Composite Pattern* 装饰器模式Decorator Pattern* 外观模式Facade Pattern* 享元模式Flyweight Pattern* 代理模式Proxy Pattern3行为型模式这些设计模式特别关注对象之间的通信。* 责任链模式Chain of Responsibility Pattern* 命令模式Command Pattern* 解释器模式Interpreter Pattern* 迭代器模式Iterator Pattern* 中介者模式Mediator Pattern* 备忘录模式Memento Pattern* 观察者模式Observer Pattern* 状态模式State Pattern* 空对象模式Null Object Pattern* 策略模式Strategy Pattern* 模板模式Template Pattern* 访问者模式Visitor Pattern4J2EE 模式这些设计模式特别关注表示层。这些模式是由 Sun Java Center 鉴定的。* MVC 模式MVC Pattern* 业务代表模式Business Delegate Pattern* 组合实体模式Composite Entity Pattern* 数据访问对象模式Data Access Object Pattern* 前端控制器模式Front Controller Pattern* 拦截过滤器模式Intercepting Filter Pattern* 服务定位器模式Service Locator Pattern* 传输对象模式Transfer Object Pattern
下面用一个图片来整体描述一下设计模式之间的关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ihe6nCK6-1680072920361)(https://www.runoob.com/wp-content/uploads/2014/08/the-relationship-between-design-patterns.jpg “设计模式之间的关系”)]
设计模式的六大原则
1、开闭原则Open Close Principle
开闭原则的意思是 对扩展开放对修改关闭 。在程序需要进行拓展的时候不能去修改原有的代码实现一个热插拔的效果。简言之是为了使程序的扩展性好易于维护和升级。想要达到这样的效果我们需要使用接口和抽象类后面的具体设计中我们会提到这点。
2、里氏代换原则Liskov Substitution Principle
里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说任何基类可以出现的地方子类一定可以出现。LSP 是继承复用的基石只有当派生类可以替换掉基类且软件单位的功能不受到影响时基类才能真正被复用而派生类也能够在基类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化而基类与子类的继承关系就是抽象化的具体实现所以里氏代换原则是对实现抽象化的具体步骤的规范。
3、依赖倒转原则Dependence Inversion Principle
这个原则是开闭原则的基础具体内容针对接口编程依赖于抽象而不依赖于具体。
4、接口隔离原则Interface Segregation Principle
这个原则的意思是使用多个隔离的接口比使用单个接口要好。它还有另外一个意思是降低类之间的耦合度。由此可见其实设计模式就是从大型软件架构出发、便于升级和维护的软件设计思想它强调降低依赖降低耦合。
5、迪米特法则又称最少知道原则Demeter Principle
最少知道原则是指一个实体应当尽量少地与其他实体之间发生相互作用使得系统功能模块相对独立。
6、合成复用原则Composite Reuse Principle
合成复用原则是指尽量使用合成/聚合的方式而不是使用继承。