提示:面向对象的设计模式、架构模式
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、万柏林网站维护、网站推广。
目录
一、模式论
二、代码模式
三、设计模式
四、架构模式
总结
一、模式论
自从“四人帮(GOF)”的《设计模式:可复用面向对象软件的基础》面世,软件模式的探讨与应用如雨后春笋、像星火燎原,诞生了各式各样的模式书籍。
初接触模式的技术小白,往往会一头雾水,这个概念太抽象了。模式是什么?通俗地讲,模式就是套路、是解决某类问题的一个经验性方案。按解决问题的大小或者类型,可以在模式二字前面加一个定语,就构成了**模式。比如,解决恋爱问题的经验性方法,就可以叫做恋爱模式;解决房屋搭建结构问题的常用结构,就叫做建筑模式(模式最早来源于建筑学)。软件中使用的模式,我们这里统称为软件模式。
按解决问题的从小到大的顺序(程序员最早接触也是最容易理解的顺序,我称之为“见木不见林,见林不见木,见林又见木”的最佳顺序),软件模式又划分为代码模式(成例或者习惯性用法)、设计模式、架构模式。
二、代码模式代码模式(或成例)是特定的范例和与特定语言有关的编程技巧。代码模式的好坏会影响到一个中等尺度组件的内部、外部的结构或行为的底层细节,但不会影响到一个部件或子系统的中等尺度的结构,更不会影响到系统的总体布局和大尺度框架。举个例子:需要根据一个变量的取值来取得对应值的代码,一种常见写法是用if/else或switch做分支逻辑,另外一种就是使用代码模式:数据驱动模式。数据驱动使用映射表,进行查表操作替代分支逻辑。如果映射表键值对的值是一般数值或字符串,就是数据驱动数据;如果键值对的值是函数(方法),就是数据驱动逻辑;如果键值对的值是对象,就是数据驱动对象,如果键值对的值是模块,就是数据驱动模块;如果键值对的值是进程,就是操作系统。熟练运用代码模式,让你写出的代码“低调奢华有内涵”。
三、设计模式设计是中等尺度的结构策略。这些中等尺度的结构实现了一些大尺度组件的行为和它们之间的关系。模式的好坏不会影响到系统的总体布局和总体框架。设计模式定义出子系统或组件的微观结构。
一个设计模式提供一种提炼子系统或软件系统中的组件,或者它们之间的关系的纲要设计。设计模式描述普遍存在的在相互通讯的组件中重复出现的结构,这种结构解决在一定的背景中的具有一般性的设计问题。
设计模式的经典划分是GOF给出的:创建型设计模式、结构型设计模式、行为型模式。
模式 | 描述 | 包括 |
---|---|---|
创建型模式 | 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活 |
|
结构型模式 | 这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式 |
|
行为型模式 | 这些设计模式特别关注对象之间的通信 |
|
架构模式是一个系统的高层次策略,涉及到大尺度的组件以及整体性质和力学。架构模式的好坏可以影响到总体布局和框架性结构。一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一些事先定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。称之为系统模式。
在实践中经常用到架构模式,一种分类方式如下:
系统的结构:分层架构模式、管道和过滤器架构模式;
自适应系统:插件架构模式;
分布式系统:中介模式、面向服务的架构模式;
交互式系统:MVC模式。
应用架构模式让系统更灵活更可控,使你的程序“高端大气上档次”。
总结设计模式提供了一个标准的术语系统,且具体到特定的情景。例如,单例设计模式意味着使用单个对象,这样所有熟悉单例设计模式的开发人员都能使用单个对象,并且可以通过这种方式告诉对方,程序使用的是单例模式。
设计模式已经经历了很长一段时间的发展,它们提供了软件开发过程中面临的一般问题的最佳解决方案。学习这些模式有助于经验不足的开发人员通过一种简单快捷的方式来学习软件设计。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章名称:软件模式分类-创新互联
链接URL:http://cqwzjz.cn/article/ddgdsg.html