笔记_设计模式
设计模式
剑来~
这个作者很懒,什么都没留下…
展开
-
设计模式、面向对象八:如何利用基于充血模型的DDD开发一个虚拟钱包系统?
钱包业务背景一般具有支付、购买功能的应用,都支持钱包的功能。应用为每个用户开设一个系统内的虚拟钱包账户,支持用户重置、提现、支付、冻结、透支、转账、查询账户余额、查询交易流水。一般来讲,每个虚拟钱包账户都会对应用户的一个真实的支付账号,有可能是银行卡账户,也有可能是三方支付账户(支付宝、微信钱包)。钱包的五大核心功能的业务充值用户通过三方支付渠道,把自己银行卡账户内的钱,充值到虚拟...原创 2019-11-29 15:21:55 · 599 阅读 · 0 评论 -
设计模式、面向对象七:贫血模型与充血模型
前景我们都知道,现在很多项目都是基于贫血模型的MVC三层框架。虽然这种开发模式已经成为了标准的web项目的开发模式,但是它却违反了面向对象的编程风格,是一种彻底的面向过程的编程风格,因此有人称之为反模式。什么是MVCMVC三层架构中,M表示Model, V表示View,C表示Controller。将整个项目分为三层:展示层、逻辑层、数据层。不过很多项目也不会100%遵从MVC固定的分层方式...原创 2019-11-28 18:25:52 · 952 阅读 · 1 评论 -
设计模式、面向对象六:继承与组合
继承继承是面向对象的四大特性之一,用于表示类之间的is-a关系,可以解决代码复用的问题,支持多态。继承的缺点继承层次过深、过复杂化,会影响到代码的可维护性。举例:假设我们要设计一个关于鸟的类。将鸟类这样的一个抽象的事物概念,定义为抽象类AbstractBird所有更细分的鸟,比如麻雀、鸽子、等都继承这个抽象类问题:大部分鸟会飞,我们可以在AbstractBird抽象类中,定义...原创 2019-11-27 09:34:40 · 282 阅读 · 0 评论 -
设计模式、面向对象五:基于接口而非实现编程
基于接口而非实现编程,是一条设计原则,它先于很多编程语言诞生,是一条比较抽象、泛化的设计思想。 这条原则中的接口,可以理解为编程语言中的接口或者抽象类。基于接口而非实现编程的优势可以提高代码质量,因为应用这条原则,可以将接口和实现相分离,封装不稳定的实现,暴漏稳定的接口。上游系统面向接口而非实现编程,不依赖不稳定的实现细节,这样当实现发生变化的时候,上游系统的代码基本不需要改动,以此来降低...原创 2019-11-26 11:46:36 · 483 阅读 · 0 评论 -
设计模式、面向对象四:接口和抽象类的区别
参考文献:极客时间,王争 设计模式之美抽象类什么是抽象类以一段经典的抽象类使用场景(模板设计模式)来举例。Logger是一个记录日志的抽象类FileLogger和MessageQueueLogger继承Logger分别实现不同的日志记录:记录日志到文件中和记录日志到消息队列中。FileLogger和MessageQueueLogger两个子类复用了父类Logger中的na...原创 2019-11-21 17:27:20 · 181 阅读 · 0 评论 -
设计模式、面向对象三:面向过程变成与面向对象编程的区别
什么是面向过程编程?什么是面向过程编程语言相较于面向对象编程以类为组织代码的基本单元,面向过程编程则是过程(或方法)作为组织代码的基本单元。它最主要的特点就是数据和方法相而分离。比如下面的以c语言编写的代码。struct User { char name[64]; int age; char gender[16];};struct User parse_to_user(...原创 2019-11-19 15:18:10 · 286 阅读 · 0 评论 -
设计模式、面向对象二:面向对象四大特性
四者的理解封装封装也叫做信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方式来访问内部信息或者数据。它需要编程语言提供权限访问控制语法来支持。例如Java中的private、protected、public关键字封装存在的意义保护数据不被随意修改,提高代码的可维护性仅暴露有限的必要的接口,提高类的易用性抽象如果说封装主要讲如何隐藏信息、保护数据...原创 2019-11-14 18:36:16 · 86 阅读 · 0 评论 -
设计模式、面向对象一:面向对象
什么是面向对象编程?面向对象编程是一种编程范式和编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石什么是面向对象编程语言?面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便的实现面向对象编程四大特性(封装、继承、抽象、多态)的编程语言如何判定一个编程语言是否是面向对象编程语言?如果按照严格的定义,需要有现成的语法...原创 2019-11-12 11:46:20 · 162 阅读 · 0 评论 -
设计模式开篇
参考文献:极客时间–>王争 设计模式为什么要学习设计模式应付面试告别别人吐槽的辣鸡代码提高复杂代码的设计和开发能力读其他源代码,学框架是事半功倍为职场发展做铺垫判断代码好坏的标准易维护性、可读性、可扩展性、简洁性、可复用性、可测试性等编程方法论面向对象现在主流的编程范式或者编程风格有三种,面向过程、面向对象、函数式编程,面向对象是最主流的。面向对象编程因为具...原创 2019-11-08 15:25:59 · 131 阅读 · 0 评论