`
yyw84
  • 浏览: 79071 次
社区版块
存档分类
最新评论

《C# 设计模式》笔记: 第8章 简单工厂模式

阅读更多


看了那么多章面向对象都看得有点不耐烦了,这完全是在复习嘛。
终于读到第二部分,关于创建型模式,刚看完了第八章,让我激动不已,有点相见恨晚的感觉,原来程序是可以这样子被设计的。。。




第二部分  创建型模式

第8章 简单工厂模式

      简单工厂模式(Simple Factory Pattern)根据提供给它的数据,返回几个可能类中的一个类的实例。通常它返回的类都有一个共同的父类和共同的方法,但每个方法执行的任务不同,而且根据不同的数据进行了优化。

      返回哪一个类的实例完全取决于工厂,工厂功能可能很复制,但通常都是相当简单的。

      简单工厂模式的原理:创建了一个抽象工厂,它决定返回哪一个类的实例并将该实例返回。接下来可以调用那个类实例的方法,但不需要知道具体使用的是哪一个子类,这种方法把和数据相关的问题与类的其他方法分隔开来。

      简单工厂能够返回具有同样方法的类的实例,它们可以是不同的派生子类的实例,也可以是实际上毫无关系仅仅是共享了相同接口的类。不管哪一种形式,这些类实例中的方法必须是相同的,并且能够被交替使用。


----------------------------------------------------------------------------

分享到:
评论

相关推荐

    C#-学习笔记

    在深入探讨"C#高级编程"的学习笔记之前,我们先来理解一下C#这门语言的基础。C#(读作"C sharp")是由微软公司开发的一种面向对象的编程语言,主要用于构建Windows应用程序、Web应用以及移动应用。它在.NET框架或...

    设计模式MarkDown文件描述

    这里我们关注的是C#设计模式,这是一组用于构建可维护、可扩展和高效软件的模板。让我们逐一探讨这些Markdown文件中包含的设计模式。 1. **适配器模式**:适配器模式允许不同接口的类之间进行通信,它通过创建一个...

    C#编程学习笔记_C#编程学习笔记_

    C#是一种由微软公司开发的面向对象的编程语言,它被设计用于构建各种类型的应用程序,包括桌面应用、Web应用以及分布式系统。在C#编程学习中,掌握以下几个核心知识点至关重要: 1. **基础语法**:C#的基础语法类似...

    C#编程笔记

    - 常见设计模式:工厂模式、单例模式、观察者模式、装饰器模式等。 8. **C#生态系统** - NuGet包管理:查找、安装和管理第三方库。 - .NET Core和.NET 5:跨平台开发的开放源代码框架。 - 开发工具:VS Code、...

    C#学习笔记精华,详细。

    本篇“C#学习笔记精华”旨在为初学者和进阶者提供一个全面且深入的学习指南,帮助读者掌握C#的核心概念和实用技巧。 1. **基础语法**:C#的基础包括变量、数据类型、常量、运算符、流程控制(如if语句、switch语句...

    中美 IT 培训 C# Asp.net 全套笔记1

    C# 基本语法、面向对象的思想、数据结构和算法以及设计模式(120课时) 详细介绍.Net Framework、C# 基本语法、编程规范和编程技巧、面向对象的认识问题和分析问题的思想、以及数据结构和常用算法,学习单件模式、...

    C#手写识别程序源码

    在IT领域,手写识别是一种将手写字符转化为可编辑文本的技术,广泛应用于移动设备、电子笔记、表单填写等场景。本项目是基于C#编程语言实现的手写识别程序,旨在提供一种实用且易扩展的解决方案。下面将详细介绍这个...

    c#入门经典 第七版 英文版 非扫描版

    《C#入门经典》第七版是一本专门为初学者设计的C#编程教程,它以英文原版的形式呈现,非扫描版意味着读者可以方便地进行文本编辑和复制,这对于学习过程中的笔记整理和代码实践非常有利。该书是基于C# 6.0语言特性和...

    达内云笔记源码

    这种设计使得应用可以与其他系统集成,如移动应用或者第三方服务。 6. **身份验证与授权**:对于云服务,用户认证和权限管理是必要的。可能使用ASP.NET Identity或OAuth2进行用户身份验证和授权,确保只有合法用户...

    C#入门经典(第三版)阅读记录

    《C#入门经典(第三版)》是一本广泛被初学者和有经验的开发者们推荐的C#编程书籍。此书深入浅出地介绍了C#语言的基础知识和高级特性,帮助读者快速掌握C#编程技能。以下是我从本书的学习笔记中提炼出的一些关键知识点...

    课堂笔记和代码

    - **工厂模式**:提供创建对象的接口,但不指定具体类。 - **观察者模式**:定义对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 这些笔记和代码示例将帮助...

    StudingRecord:不要累积台阶,不超过一千英里; 没有小溪流的积累,没有河流。 [设计模式,python,常规,java思维,有效的java,第一个标题,CC ++,Linux相关,C#,CSS,打字稿,java,python,shell,swift]学习笔记

    基础环境 jdk8:生产环境多数常用 centerOS7:暂时没体验出太大的不同(除了防火墙) ...about-java-design-pattern java设计模式相关,head首先读书笔记 about-linux-usage工作中使用linux环境的一些记录

    桌面学习助手

    9. **设计模式**:如单例模式用于控制类的实例化,工厂模式简化对象创建,MVC(模型-视图-控制器)模式有助于分离关注点。 10. **单元测试**:对于大型项目,单元测试可以确保每个模块的功能正确性,C#支持使用NUnit...

    net学习笔记及其他代码应用

    33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。 答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * ...

    schema学习笔记

    ### Schema学习笔记 #### 关键概念与术语 **Schema**是一种用于定义XML文档结构和约束的语言。它通过一组规则来确保XML文档中的数据遵循特定格式和逻辑规则,从而提高数据的一致性和有效性。 #### 命名约定 - **...

    c#中的扩展方法学习笔记

    这种方式增强了代码的可读性和复用性,尤其在设计模式和框架中广泛应用。在.NET框架中,LINQ(Language Integrated Query,语言集成查询)大量使用了扩展方法,如`Where()`和`Select()`,这两个方法分别用于过滤数据...

    DotNet文本资料

    11. **设计模式**:介绍一些常见的软件设计模式,并在C#中应用。 12. **NuGet包管理**:如何使用NuGet来添加、管理和更新第三方库。 这些只是可能涵盖的部分内容,实际的“文本资料”可能还会根据作者的侧重点和...

    [电子商务](B2C商城)笔记本电脑在线销售系统.zip

    ASP.NET是由微软公司推出的Web应用程序框架,它为开发者提供了强大的工具和库,使得构建高性能、安全性和可扩展性强的Web应用变得更加简单。 该系统的核心功能可能包括以下几个方面: 1. **用户管理**:用户注册、...

Global site tag (gtag.js) - Google Analytics