web设计模式有哪些

小编 413

web设计模式主要有以下四种:1.单例设计模式;2.策略设计模式;3.观察者设计模式;4.装饰器设计模式;5.代理设计模式;6.分层设计模式。单例设计模式的实现方法是判断是否存在该对象的实例,如果已存在则不再创建。

1.单例设计模式

单例模式仅允许类或对象具有单个实例,并且它使用全局变量来存储该实例。其使用场景适用于业务场景中只能存在一个的实例,比如弹窗、购物车。数据库连接有时候使用的也是单例设计模式,通过创建连接数据库的单例模式,可以有效避免我们生成过多的数据库连接对象,避免了数据库连接开销。

单例模式分为懒汉式和饿汉式:(1)懒汉式在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢;(2)饿汉式在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快。

2.策略设计模式

策略设计模式,就像if else语句的高级版本。基本上,您可以在其中为基类中的方法创建接口。然后,使用此接口从派生类中找到该方法的正确实现。

一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。

在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的context 对象。策略对象改变context 对象的执行算法。

3.观察者设计模式

观察者模式,也叫订阅-发布模式,是对象的行为模式,在对象之间定义了一对多的依赖关系,就是多个观察者和一个被观察者之间的关系,当被观察者发生变化的时候,会通知所有的观察者对象,他们做出相对应的操作。

观察者模式就像MVC(模型-视图-控制器模式)的View部分。您有一个包含所有数据及其状态的主题。然后,您将拥有与用户一样的观察者,他们将在数据更新后从主题中提取数据。发送用户通知,更新,筛选和处理订阅者都可以使用观察者模式来完成。

4.装饰器设计模式

允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构性模式,它是作为现有的类的一个包装。

这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。

我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。

动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。

5.代理设计模式

代理设计模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。其实现方法是定义一个委托者和一个代理,需要委托的事情在代理中完成。

在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用。代理可以帮客户过滤掉一些请求并且把一些开销大的对象,延迟到真正需要它时才创建。

6.分层设计模式

分层设计模式常用于可分解为子任务的结构化程序,每个子任务都位于特定的抽象层级,每一层都为上一层提供服务。一般信息系统最常见的4个层次:表示层(也称为UI层);应用层(也称为服务层);业务逻辑层(也称为领域层);数据访问层(也称为持久层)。

分层设计模式的应用场景:一般的桌面应用程序;电子商务web应用程序;一般的移动App。

延伸阅读

常见的Web服务器技术和网页设计技术有哪些

1.ASP技术

ASP(Active Server Pages)是由微软创建的Web应用开发标准,ASP服务器已经包含在IIS服务器中,ASP服务器将Web请求转入解释器中,在解释器中将所有ASP的Script进行分析,然后执行,同时可以创建C[)M对象以完成更多的功能,ASP中的Script是VBScript。

2.PHP技术

PHP(Personal Home Page)是目前最流行的服务器脚本语言之一。它运行在Web服务端,根据用户请求或服务器端的数据产生动态网页,具有很强的数据库访问能力。它的执行效率要高于普通的CGI程序,能比CGI或者Perl更快速地执行动态网页。

如果创建了一个PHP应用程序,实际上相当于创建了一个PHP脚本文件。在服务器将输出信息发送到客户端之前,网络服务器会率先将文件中的PHP语言进行加工处理。

3.JSP技术

JSP(Java Server Page)是由Sun Micro Systems公司倡导、许多公司参与,一起建立的一种动态网页技术标准。在传统的网页HTML文件中加入Java程序片段(Scriptlet)和JSP标记,就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。

4.Flash技术

F1ash是美国的Macromedia公司于1999年6月推出的优异网页动画设计软件,它是一种交互式动画设计工具,使用它可以将音乐、声效、动画以及富有新意的界面融合在—作出高品质的网页动态效果。

5.XML技术

可扩展标记语言(eXtensible Markup Language,简称为XML),是用来对信息进行自我描述而设计的一种新语言。使用XML的用户可以定义无穷的标记来描述文档中的任何数据元素,将文档的内容组织成丰富的完整的信息体系。XML具有四大特点:便于存储的数据格式、可扩展性、高度结构化以及方便的网络传输,这些特点为我们创建开放、高效、可扩展、个性化的Web应用提供了一个崭新的起点。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部