08 2019 档案
摘要:单例模式介绍 单例模式,是为了确保在整个软件体统中,某个类对象只有一个实例,并且该类通常会提供一个对外获取该实例的public方法(静态方法)。 比如日志、数据库连接池等对象,通常需要且只需要一个实例对象,这就会使用单例模式。 单例模式的7种模式 1. 饿汉式 静态常量 静态代码块 2. 懒汉式 线
阅读全文
摘要:设计模式介绍 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案, 设计模(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式的本质提高 软件的维护性,通用性和扩
阅读全文
摘要:前言 现在,很少有人和90年代一样,自己去实现一个软件的各个方面,也就是说,在工作中,和人沟通是必备的技能。那么,作为一枚码农,如何和他人沟通呢?这就要依靠本文的主题了——UML。 简介 UML——Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设
阅读全文
摘要:基本介绍 合成复用原则的核心,就是尽量去使用组合、聚合等方式,而不是使用继承。 核心思想 1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 2.针对接口编程,而不是针对实现编程。 3.为了交互对象之间的松耦合设计而努力。
阅读全文
摘要:迪米特原则定义 迪米特原则,也叫最少知道原则,即一个类应该 对自己依赖的类知道的越少越好 ,而你被依赖的类多么复杂,对我都没有关系。也就是说,对于别依赖的类来说,不管业务逻辑多么复杂,都应该尽量封装在类的内部;对外除了必备的public方法,不再泄露任何信息。 1.问题由来 我们知道,类和类是有耦合
阅读全文
摘要:介绍 开闭原则是编程设计中最基本、最重要的原则。 定义:一个软件实体如类、方法和模块等,应该对扩展(提供方)开放,对修改(使用方)关闭。用抽象构建框架,用实现扩展细节。 也就是说,在需求发生新的变化时,我们不应该修改原来的代码,而应该通过扩展来满足新的需求。 例子引入 我们要实现一个画图的功能,能够
阅读全文
摘要:1.内容引入——继承体系的思考 在继承中,凡是在父类已经实现的方法,其实算是一种契约或者规范,子类不应该在进行更改(重写);但是,由于这一点不是强制要求,所以当子类进行重写的时候,就会对继承体系产生破坏。 同时,继承带来便利的时候,也有弊端:给程序带来了侵入性,增加了对象之间的耦合性,可移植性低。当
阅读全文
摘要:依赖倒置原则(Dependence Inversion Priiciple,DIP) 介绍 High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstr
阅读全文
摘要:介绍 客户端不应该依赖它不需要的接口,即 一个类对另一个类的依赖应该建立在最小接口上 。 Demo引入 先来看一张图: 如上图所示:类A通过接口MyInterface依赖类B,类C通过接口MyInterface依赖类D;但是,类A只是想要使用B实现的接口MyInterface中的1,2,3方法,类C
阅读全文
摘要:单一职责原则 单一职责原则:一个类应该只有一个原因引起改变,即一个类应该只负责一个业务逻辑。 问题由来:类T负责t1, t2两个职责,当因为t1j对类T修改的时候,可能导致类T出现问题而影响职责t2。 解决方案:遵循单一职责原则,将类T进行改写,确保一个类负责一个职责。 demo: 有一个类Anim
阅读全文