![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 64
陌生998
这个作者很懒,什么都没留下…
展开
-
《设计模式之美》笔记-23中设计模式总结
一、创建型设计模式创建型设计模式包括:单例模式、工厂模式、建造者模式、原型模式。它主要解决对象的创建问题,封装复杂的创建过程,解耦对象的创建代码和使用代码。 1. 单例模式 单例模式用来创建全局唯一的对象。一个类只允许创建一个对象(或者叫实例),那这个类就是一个单例类,这种设计模式就叫作单例模式。单例有几种经典的实现方式,它们分别是:饿汉式、懒汉式、双重检测、静态内部类、枚举。尽管单例是一个很常用的设计模式,在实际的开发中,我们也确实经常用到它,但是,有些人认为单例是一种反模式(anti-pattern).原创 2021-07-09 17:52:38 · 204 阅读 · 0 评论 -
《设计模式之美》笔记-设计原则
单一职责 1.如何理解单一职责原则(SRP)? 一个类只负责完成一个职责或者功能。不要设计大而全的类,要设计粒度小、功能单一的类。单一职责原则是为了实现代码高内聚、低耦合,提高代码的复用性、可读性、可维护性。 2.如何判断类的职责是否足够单一? 不同的应用场景、不同阶段的需求背景、不同的业务层面,对同一个类的职责是否单一,可能会有不同的判定结果。实际上,一些侧面的判断指标更具有指导意义和可执行性,比如,出现下面这些情况就有可能说明这类的设计不满足单一职责原则: 类中的代码行数、函数或者属性过多; 类依赖的原创 2021-07-07 17:34:20 · 56 阅读 · 0 评论 -
《设计模式之美》笔记-面向对象vs面向过程
1. 什么是面向过程编程?什么是面向过程编程语言? 相较于面向对象编程以类为组织代码的基本单元,面向过程编程则是以过程(或方法)作为组织代码的基本单元。它最主要的特点就是数据和方法相分离。相较于面向对象编程语言,面向过程编程语言最大的特点就是不支持丰富的面向对象编程特性,比如继承、多态、封装。 2. 面向对象编程相比面向过程编程有哪些优势?面向对象编程相比起面向过程编程的优势主要有三个。 1、对于大规模复杂程序的开发,程序的处理流程并非单一的一条主线,而是错综复杂的网状结构。面向对象编程比起面向过程编程,更原创 2021-07-07 11:42:48 · 151 阅读 · 0 评论 -
《设计模式之美》笔记-封装、抽象、继承、多态
封装、抽象、继承、多态 关于封装特性封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方式来访问内部信息或者数据。它需要编程语言提供权限访问控制语法来支持,例如 Java 中的 private、protected、public 关键字。封装特性存在的意义,一方面是保护数据不被随意修改,提高代码的可维护性;另一方面是仅暴露有限的必要接口,提高类的易用性。 关于抽象特性封装主要讲如何隐藏信息、保护数据,那抽象就是讲如何隐藏方法的具体实现,让使用者只需要关心方法提供了哪原创 2021-07-07 11:06:30 · 88 阅读 · 0 评论