专栏首页代码人生大话设计模式笔记(一)——设计模式概论和简单工厂模式

大话设计模式笔记(一)——设计模式概论和简单工厂模式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luo4105/article/details/76541250

概述

设计模式——可复用面向对象软件的基础

设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

设计模式是为了可重用代码、保证代码的可靠性,是软件工程的基石。

设计模式有六大设计原则和23种基础设计模式。

第一章代码无错就是优——简单工厂模式

面向对象编程的三个特性是封装、继承、多态。

对应于代码重构

封装就是业务代码和逻辑代码分开单独形成类。这样代码可以服用、便于修改,改逻辑就改逻辑、改业务就改业务。

继承可用于代码的扩展,比如将一个逻辑类的每种情况单独抽出来成为一个子类,这样要添加情况就只需要新增一个子类了,要修改方法也只需要修改这个子类了,这样极大的提升了代码的解耦和内聚。

多态可以通过方法返回父类的子类对象,这是实现简单工厂模式的关键,如可以通过加减乘除符号构造出加减乘除的对应实现类对象。

简单工厂模式就是获得子类对象的模式。

UML

在工厂类中,createObject方法判断并返回特定的Product实现类,客户端只需关联工厂类和Product类,而不关注具体实现类。

编程小技巧

在简单工厂模式中,实现类的方法如果参数不同,可以把这些不同的参数放入实现类的属性中,在工厂方法中构造对象时传入参数,这样就可以抽象出父类抽象方法。

应用场景

工厂模式是十分基础的设计模式,当遇到增加功能要在类增加方法的时候,就可以使用工厂模式将这些方法都抽象成类,使代码符合易扩展、少修改的原则。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ui-select官方教程(二)——ui-select指令

    逝兮诚
  • highchar的x轴数据自动生成

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚
  • 大话设计模式笔记(五)——代理模式和工厂方法模式

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    逝兮诚
  • linux内核中softlockup,hardlockup代码实现

    一,softlockup: watchdog软狗/软锁----用于检测系统调度是否正常。 能响应中断,但调度异常。

    chudihuang
  • 2020最新总结大厂Java高频面试题(含答案解析)

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~

    程序员白楠楠
  • element ui 图片上传封装多张或单张

    最近写了一个后台管理项目,发现每个后台项目都离不开上传图片,决定把上传图片做个封装,话不多说直接上代码!

    前端小白@阿强
  • Kubernetes 中一种细力度控制 Pod 部署的方案

    并不是所有的 Kubernetes 集群都有很大数量的机器, 一个 Pod 也有可能占用几十 G 内存, 希望读者能在阅读前就了解这样的现实.

    米开朗基杨
  • 分解uber依赖注入库dig-使用篇

    本系列分几部分,先对dig进行分析,第一篇介绍dig的使用,第二篇再从源码来剖析他是如何通过返射实现的的依赖注入的,后续会介绍fx 的使用和实现原理。 di...

    lpxxn
  • python批量新建文件夹

    因为要经常写课备课,年级较多(G5-G11),每个年级的课程也比较多(1-100),每次都要新建文件夹,觉的比较麻烦,于是想着去写一个简单小程序去批量自动创建文...

    叶子陪你玩
  • 一文看尽各种 NLP 任务

    前言:之前我们讲了很多与语音处理有关的任务,这次我们来讲和自然语言处理相关的任务。NLP任务大体可以分成两大类,一种是文本序列到文本序列,比如机器翻译,文本风格...

    zenRRan

扫码关注云+社区

领取腾讯云代金券