【大话设计模式】--初涉设计模式

2024-06-13 14:58
文章标签 设计模式 大话 初涉

本文主要是介绍【大话设计模式】--初涉设计模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在结束完机房之后,到现在的很长一段时间没有敲代码,看着十期他们天天看牛腩,敲代码,调试,而且还用着

不懂的语言,感觉可羡慕了。在学习C#的时候其实可带劲了,可是新语言接受起来也不是那么容易的。

在完成C#视频之后进行的大话设计,感觉原来同一个东西原来还可以用这么多种方法表示,原来按照这种模式设

出来的东东这么方 便的!下面说说刚接触大话的一点点小收获,如果大家有意见&建议的都可以提哈!


设计模式&面向对象


从C#开始,就一直在介绍面向对象,那么面向对象的基本要求是什么?可维护;可复用;可扩展;并且灵活性要

好。还要通过封装、继承、多态三大特性降低程序的耦合度,做到高内聚,低耦合。而设计模式的作用就是使得程序

加灵活,容易修改,容易复用。还有一点需要强调:面向对象的编程,并不是类越多越好,类的划分是为了封装,

但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。每个部分都刻意地进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。


设计原则


从大话里看到设计模式的这几大原则(不知道后边还有没有,有我再补充哈!0^_^0):

单一职责原则 VS 开放-封闭原则

单一职责原则的引出主要是小菜的手机功能太多,导致UFO的拍摄效果不佳。而开放-封闭原则主要是由小菜考

研与找工作没能兼顾引出的(自我感觉以故事的方式引出知识点真的很赞!)。

单一职责原则的定义是就一个类而言,仅有一个引起变化的原因。

开放-封闭原则定义:软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。

感觉这两个原则的宗旨都是保持低耦合,尽量做到各干各的事,互相不影响。至于各自的优势:单一职责原则能

够把职责分离开来,各自拥有不同的职责,分工明确;而开放-封闭原则使得设计面对需求的改变却可以保持相对稳

定,从而使得系统可以在第一个版本以后不断推出新的版本。

依赖倒转原则 & 里氏代换原则

这两个原则是连在一起讲的。依赖倒转原则以一个MM想让小菜帮助她解决蓝屏问题引出的,然后MM为了感谢

小菜,给他讲了她和她对象的故事引出了里氏代换原则。

依赖倒转原则定义:高层模块不应该依赖低层模块。两个都应该依赖抽象;抽象不应该依赖细节。细节应该依赖

抽象。

里氏代换原则定义:子类型必须能够替换掉它们的父类型。

依赖倒转原则是面向对象的标识,如果所有的依赖关系都终止于抽象类或者接口的就是面向对象的设计,不然就

是面向过程的。

而里氏代换原则使得子类型的可替换性成为父类类型的模块,在无需修改的情况下可以扩展的前提。


总结


初涉设计模式,感觉还是太嫩!现在看大话很老实的跟着书上的例子敲,然后边敲边理解,自我感觉还是可以

的。至少能看见成品了。不知道大神们是怎么学习大话的,如果有好的方法,希望留言,或者私下跟我交流交流哈!


这篇关于【大话设计模式】--初涉设计模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057624

相关文章

十五.各设计模式总结与对比

1.各设计模式总结与对比 1.1.课程目标 1、 简要分析GoF 23种设计模式和设计原则,做整体认知。 2、 剖析Spirng的编程思想,启发思维,为之后深入学习Spring做铺垫。 3、 了解各设计模式之间的关联,解决设计模式混淆的问题。 1.2.内容定位 1、 掌握设计模式的"道" ,而不只是"术" 2、 道可道非常道,滴水石穿非一日之功,做好长期修炼的准备。 3、 不要为了

从《深入设计模式》一书中学到的编程智慧

软件设计原则   优秀设计的特征   在开始学习实际的模式前,让我们来看看软件架构的设计过程,了解一下需要达成目标与需要尽量避免的陷阱。 代码复用 无论是开发何种软件产品,成本和时间都最重要的两个维度。较短的开发时间意味着可比竞争对手更早进入市场; 较低的开发成本意味着能够留出更多营销资金,因此能更广泛地覆盖潜在客户。 代码复用是减少开发成本时最常用的方式之一。其意图

[最全]设计模式实战(一)UML六大原则

UML类图 UML类图是学习设计模式的基础,学习设计模式,主要关注六种关系。即:继承、实现、组合、聚合、依赖和关联。 UML类图基本用法 继承关系用空心三角形+实线来表示。实现接口用空心三角形+虚线来表示。eg:大雁是最能飞的,它实现了飞翔接口。 关联关系用实线箭头来表示。当一个类"知道"另一个类时,可以用关联。eg:企鹅需要"知道"气候的变化,需要"了解"气候规律。 聚合关

设计模式学习之中介者模式

我们平时写代码的过程,一个类必然会与其他类产生依赖关系,如果这种依赖关系如网状般错综复杂,那么必然会影响我们的代码逻辑以及执行效率,适当地使用中介者模式可以对这种依赖关系进行解耦使逻辑结构清晰,本篇博客,我们就一起学习中介者模式。 定义及使用场景 定义:中介者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用。从而使它们可以松散耦合。当某些对象之间的作用发生改变时,不会立即影响其

设计模式学习之模版方法模式

模板方法模式是一种基于继承的代码复用的行为型模式;在其结构中只存在父类与子类之间的继承关系。通过使用模板方法模式,可以将一些复杂流程的实现步骤封装在一系列基本方法中,在抽象父类中提供一个称之为模板方法的方法来定义这些基本方法的执行次序,而通过其子类来覆盖某些步骤,从而使得相同的算法框架可以有不同的执行结果。本篇博客我们一起来学习模版方法模式。 定义与UML图 定义 模板方法模式:定义一个操作

Android设计模式学习之Builder模式

Android设计模式学习之观察者模式 建造者模式(Builder Pattern),是创造性模式之一,Builder 模式的目的则是为了将对象的构建与展示分离。Builder 模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程。 模式的使用场景 1.相同的方法,不同的执行顺序,产生不同的事件结果时; 2.多个部件或零件,都可

【设计模式-04】原型模式

【设计模式-04】原型模式 1. 概述2. 结构3. 实现4. 案例5. 使用场景6. 优缺点6.1 原型模式的优点6.2 原型模式的缺点 7. 实现深克隆(深拷贝) 1. 概述 原型模式: 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 2. 结构 原型模式包含如下角色: 抽象原型类:规定了具体原型对象必须实现的 clone() 方法。

Java中常见的设计模式及应用场景

Java中常见的设计模式及应用场景 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨Java中常见的设计模式及其应用场景,帮助大家更好地理解和应用这些设计模式,提高代码的可维护性和可扩展性。 设计模式概述 设计模式是一种被反复使用的、经过分类的、代码设计中被广泛认可的优秀代码设计经验。它不仅能解决常见的问题,还能

【设计模式之解释器模式 -- C++】

解释器模式 – 语法解析,执行操作 解释器模式是一种设计模式,用于为某个语言定义其语法表示,并提供一个解释器,这个解释器使用该表示来解释语言中的句子。这种模式通常用于开发专门的语言或脚本引擎,可以解析和执行用户定义的指令或表达式。 组成 抽象表达式(Abstract Expression):定义解释操作的接口,这个接口为解释特定的上下文提供了解释(interpret)方法。终结符表达式(Te

[C++][设计模式][模板方法]详细讲解

目录 1.动机2.理解1.设计流程对比1.结构化软件设计流程2.面向对象软件设计流程 2.早绑定与晚绑定 3.模式定义4.要点总结5.代码感受1.代码一 -- 结构化1.lib.cpp2.app.cpp 2.代码二 -- 面向对象1.lib.cpp2.app.cpp 1.动机 在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或