软件设计模式 编辑
软件工程中,设计模式是对软件设计中普遍存在的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛等人在1990年代从建筑设计领域引入到计算机科学的。
1
相关
架构模式是软件架构中在给定环境下,针对常遇到的问题的、通用且可重用的解决方案。类似于软件设计模式但覆盖范围更广,致力于软件工程中不同问题,如计算机硬件性能限制、高可用性、风险极小化。一些架构模式会透过软件框架实现。
ASP.NET MVC Framework是微软在ASP.NET中所添加的一组类别库,这组类别库可以使用MVC的软件设计模式来开发ASP.NET的应用程序。它与现有的ASP.NET应用程序并没有冲突,所以两者是可以并行的。ASP.NET MVC Framework被包装在System.Web.Mvc.dll中,并利用ASP.NET Routing来支援动作流以及URL Rewriting的能力,让它可以更贴近Web的发展以及Web 2.0的特性。对于多数有ASP开发经验的开发人员来说看起来比较不陌生,但对于没有接触过像ASP、PHP、JSP、Perl这些Web开发工具的开发人员来说,相对的不容易入门。ASP.NET MVC 的第一个版本于2009年3月17日释出RTM版本,最新的ASP.NET MVC 5.2则是于2014年12月24日正式发行。
管道,本源是使用消息传递的进程间通信机制,它构成自链接起来的处理元素,它们被安置为每个元素的输出都是下一个元素的输入;这个名字类比于物理上的管道运输。在连贯的元素之间,通常会提供一定数量的缓冲区。在管道中流动的信息,经常是记录、字节或位元的串流,而管道的元素可以叫做过滤器。将元素连接成管道类似于函数复合。在软件工程中,称之为管道与过滤器软件设计模式
外观模式,是软件工程中常用的一种软件设计模式,它为子系统中的一组界面提供一个统一的高层界面,使得子系统更容易使用。
单例模式,也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。
桥接模式软件设计模式中最复杂的模式之一,它把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。事物对象仅是一个抽象的概念。如“圆形”、“三角形”归于抽象的“形状”之下,而“画圆”、“画三角”归于实现行为的“画图”类之下,然后由“形状”调用“画图”。
服务定位器模式是一种软件设计模式。使用强抽象层封装了获取服务的过程。此模式使用称为“服务定位器”的中央注册表,它根据请求返回执行特定任务所需的信息。赞成者认为这简化了基于部件的程序开发,因为所有依赖在开发之初就清晰列出;而且运行时可灵活、动态可用资源而不必重新编译程序。批评者认为这是反模式,模糊了依赖,使程序难以测试。
异步方法调用或异步方法模式是面向对象程序设计中用于异步IO调用对象的潜在的长期运行方法的一种软件设计模式。它等价于提出的模式。
委托模式软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。委托模式是一项基本技巧,许多其他的模式,如状态模式、策略模式、访问者模式本质上是在更特殊的场合采用了委托模式。委托模式使得我们可以用聚合来替代继承,它还使我们可以模拟Mixin。
单例模式,也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。