泛谈设计模式---模式入门

1.模式是什么?

  答,模式是从特定背景下的对应问题的多种解决方案中提炼出来的一种高效可行的解决方案。(KeyWord:1.特定背景,2.问题,3.提炼出来的解决方案)---定义这个东西仁者见仁,智者见智,无需争论,对自己的发展最有利的定义就是最好的定义。

2.软件架构模式(软件架构是限定词,说白了就是平常说的模式在软件架构中的应用)的多个特征?

  答。1.模式阐述了在特定设计情形下反复出现的问题,并提出了解决方案。

    2.模式记录了已经得到充分证明的既有经验。(符合否定之否定向前发展的规律)

    3.模式描述了超越类,实例和组件的抽象。(多个组件类和对象相应的职责,关系和协作方式)

    4.模式提供了一种通用语言,并让大家对设计原则有了一致的认识。(这句可能不够通俗易懂,说白了就是说约定俗成的规律,只需要描述清楚对应场合是否真的合适就OK)

    5.模式是一种记录软件架构的手段。(这句话的意思就是告诉你这个软件架构用了哪些模式,同事也规定了你的修改或者扩展必须按照模式的大方向走,违背这些模式的走法或多或少会摧毁这些框架,这也正是为什么核心代码不能给不懂该核心的的架构模式人修改和扩展了)

    6.模式有助于创建具有指定特征的软件。

    7.模式有助于打造复杂而异质的软件架构

    8.模式有助于控制软件的复杂度。

总结上述几个特征,我们可以简单的吧归纳为:软件架构模式描述了在特定设计情形下反复出现的设计问题,并且提供了已经得到充分证明的通用解决方案摘要。解决方案摘要描述了模式的组件,组件的职责和冠以,以及这些组件协作的方式。

时间: 2024-11-05 13:44:59

泛谈设计模式---模式入门的相关文章

三大设计模式简单入门

三大设计模式简单入门 class Single{ //定义一个属性 public $siteName; //本类的静态实例 protected static $instance = null; //私有的构造方法 private function __construct($siteName=''){ $this->siteName = $siteName; } //获取本类的唯一实例 public static function getInstance($siteName='PHP'){ if(

设计模式--5.1 代理模式--入门

1.代理模式 (1) 为其它对象提供一种代理,以控制对这个对象的访问. (2) 代理模式也叫委托模式,其它模式,如状态模式.策略模式.访问者模式,本质上是在更特殊的场合使用了代理模式. 2.代理模式通用类图 (1)Subject 抽象主题角色,可以是抽象类,也可以是接口,是一个普通的业务类型定义 (IGamePlayer) (2)RealSubject 也叫被委托角色.被代理角色,它才是冤大头,是业务逻辑的具体执行者.(GamePlayer,具体执行业务) (3)Proxy 也叫委托类.代理类,

自己用:23种设计模式+UML入门

学习设计模式之前,总是需要UML来辅助 UML的入门 设计模式的灵魂在于:灵活地多态,继承,封装. 把你所描述的类,抽象出一个关键词,形成父类,再把他继承.实现接口 但是继承还是不太好,因为增加了很多冗余成分,所以产生了组合. 运用组合实现了多态里面的东西 对话的形式来写技术可能会更好啊. 老板:小朱啊,今天给我讲一下责任链设计模式吧 我:责任链设计模式啊,我昨天试着写着写着也不知道哪里出错了,他是把策略这个关键词封装成一个数组,然后如果你想添加新的策略的时候,可以在里面直接添加一个策略元素,这

MVP模式入门(结合Rxjava,Retrofit)

本文MVP的sample实现效果: github地址:https://github.com/xurui1995/MvpSample 老规矩,在说对MVP模式的理解之前还是要再谈谈MVC模式,了解了MVC的缺点.我们才知道为什么要用MVP. 关于MVC的图解,我在网上找到了一些图.如下:    MVC模式在开发web或者管理系统中应用很多,我们的View与人交互,人点击鼠标或者输入一些东西时,View会发送相应的指令给Controller,Controller 接到指令,再去调用Model的方法去

设计模式模式游客(Visitor)摘录

23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例,怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化托付给还有一个对象.创建型模式有两个不断出现的主旋律.第一,它们都将关于该系统使用哪些详细的类的信息封装起来.第二,它们隐藏了这些类的实例是怎样被创建和放在一起的.整个系统关于这些对象所知道的是由抽象类所定义的接口.因此,创建型模式在什么被创建,谁创建它,它是怎样被创建的,以及何时创建这些方面给予了非常大的

前端自动化构建工具Webpack开发模式入门指南

Webpack Webpack是时下最流行的模块打包器 它的主要任务就是将各种格式的JavaScript代码,甚至是静态文件 进行分析.压缩.合并.打包,最后生成浏览器支持的代码 特点: 代码拆分方案:webpack可以将应用代码拆分成多个块,每个块包含一个或多个模块,块可以按需异步加载,极大提升大规模单页应用的初始加载速度 智能的静态分析:webpack的智能解析器几乎可以处理任何第三方库 Loader加载器:webpack只能处理原生js模块,但是loader可以将各种资源转换为js模块 p

设计模式模式适配器(Adapter)摘录

23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例,他们帮助建立一个系统,是独立于如何.这是一个这些对象和陈述的组合.创建使用继承一个类架构更改实例,一个对象类型模型的建立也将委托实例化一个对象. 断出现的主旋律.第一,它们都将关于该系统使用哪些详细的类的信息封装起来. 第二.它们隐藏了这些类的实例是怎样被创建和放在一起的.整个系统关于这些对象所知道的是由抽象类所定义的接口. 因此,创建型模式在什么被创建,谁创建它,它是怎样被创建的,以及何时创建这些方面给予了

Java的Junit与debug模式入门

1.Junit的使用入门 导入eclipse内置的junit—junit—junit相应的版本,方式1如下: 方式二使用maven加载如下(见后续maven): <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8</version> <scope>test&l

MVP模式入门案例

随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-View-Presenter)模式应运而生. 四个要素: (1)View:负责绘制UI元素.与用户进行交互(在Android中体现为Activity); (2)View interface:需要View实现的接口,View通过View interface与Pr