码迷,mamicode.com
首页 >  
搜索关键字:面向对象设计    ( 1003个结果
迭代器模式
迭代器模式是针对集合对象而生的,对于集合对象而言,肯定会涉及到对集合的添加和删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作放在集合对象中,但这样的话,集合对象既承担太多的责任了,面向对象设计原则中有一条就是单一职责原则,所有我们要尽可能地分离这些职责,用不同的类取承担不同的责任, ...
分类:其他好文   时间:2020-07-12 17:12:04    阅读次数:61
《23个设计模式》
设计模式简介 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 -- Christopher Alexander 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。面向对象设计模式描述了面向对象设计过程中,特定场景下,类(抽象类之间,抽象类和派生类)之间或者 ...
分类:其他好文   时间:2020-07-10 00:13:53    阅读次数:62
从C到C++过渡的3个原因
从C到C++过渡的3个原因 3 reasons to transition from C to C++ 几十年来,嵌入式软件工程师们一直在争论他们是否应该使用C或C++。根据2019年嵌入式市场调查,微控制器制造商提供的软件大部分是用C语言提供的,事实上,56%的嵌入式软件是用C语言编写的。然而,C ...
分类:编程语言   时间:2020-07-06 20:16:24    阅读次数:68
38、面向对象设计模式之策略模式(Strategy)
算法与对象的耦合: 对象可能经常需要使用多种不同的算法,但如果变化频繁,会将类型变得脆弱... 动机(Motivation) 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。 如何在运行时根 ...
分类:其他好文   时间:2020-07-03 15:42:58    阅读次数:61
设计模式--开放封闭原则
#开放封闭原则 开放-封闭原则:是说软件主题可以扩展但是不可修改。 特点:对于扩展是开放的,对于更改是封闭的。 在做系统是不可能做到一开始就确定了所有需求,以后不会变化的。只能在需求来临时,做尽量少的更改,不至于整个系统推翻重来。这就需要当变化来临时,我们创建抽象将相似的变化隔离出去。这样面对新的需 ...
分类:其他好文   时间:2020-06-25 09:21:55    阅读次数:73
35、面向对象设计模式之抽象工厂(Abstract Factory)设计模式
new的问题: 常规的对一个象创建方法: // 创建一个Road对象 Road road = new Road(); new的问题: - 实现依赖,不能应对“具体实例化类型”的变化。 解决思路: -封装变化点——哪里变化,封装哪里 - 潜台词:如果没有变化, 当然不需要额外的封装 工厂模式的缘起 变 ...
分类:其他好文   时间:2020-06-20 19:28:23    阅读次数:57
12、状态模式
##状态模式: 状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当一个控制对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。(面向对象设计其实就是希望做到代码的责 ...
分类:其他好文   时间:2020-06-19 23:05:51    阅读次数:72
34、面向对象设计模式之工厂模式——简单工厂模式与工厂方法模式比较
用下面的例子比较: using System; namespace LearnObject { public class LeiFeng { public void Sweep() { Console.WriteLine("扫地"); } public void Wash() { Console.W ...
分类:其他好文   时间:2020-06-18 21:26:39    阅读次数:55
32、面向对象设计模式之工厂方法模式——工厂方法对之前的例子进行改造
简单工厂模式的不足 在简单工厂模式中,只提供了一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它知道每个产品对象的创建细节,并决定何时实例化哪个产品类。简单工厂模式的最大的缺点是有当有新产品要加入系统中时,必须修改工厂类,加入必要的处理逻辑,这违背了”开闭原则“。在简单工厂模式中,所有的产品都 ...
分类:其他好文   时间:2020-06-17 20:39:37    阅读次数:54
31、面向对象设计模式之工厂方法模式概念的提升
例子如下: public abstract class Product{ public string productName; } public abstract class ProductFactory{ public Product FactoryMethod(string producType ...
分类:其他好文   时间:2020-06-16 18:43:46    阅读次数:54
1003条   上一页 1 2 3 4 5 ... 101 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!