设计模式
本墨
这个作者很懒,什么都没留下…
展开
-
DesignPattern系列__02接口隔离原则
介绍客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上。Demo引入先来看一张图:interface MyInterface { void operation1(); void operation2(); void operation3(); void operation4(); void operation5(...原创 2019-08-04 21:29:12 · 78 阅读 · 0 评论 -
DesignPattern系列__08UML相关知识
前言现在,很少有人和90年代一样,自己去实现一个软件的各个方面,也就是说,在工作中,和人沟通是必备的技能。那么,作为一枚码农,如何和他人沟通呢?这就要依靠本文的主题了——UML。简介UML——Unified modeling language UML(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果。UML本身是一套符号的规定,就像数学符...原创 2019-08-07 11:43:10 · 103 阅读 · 0 评论 -
设计模式代码地址
设计模式代码地址:<git@github.com:houyuanbin/houyuanbin.github.io.git>原创 2019-08-09 13:38:02 · 121 阅读 · 0 评论 -
DesignPattern系列__10单例模式
单例模式介绍单例模式,是为了确保在整个软件体统中,某个类对象只有一个实例,并且该类通常会提供一个对外获取该实例的public方法(静态方法)。比如日志、数据库连接池等对象,通常需要且只需要一个实例对象,这就会使用单例模式。单例模式的八种模式饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(同步方法)懒汉式(同步代码块)懒汉式(双重检查)静态内部类枚举下面...原创 2019-08-09 10:51:04 · 119 阅读 · 0 评论 -
DesignPattern系列__07合成复用原则
基本介绍合成复用原则的核心,就是尽量去使用组合、聚合等方式,而不是使用继承。核心思想1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。2.针对接口编程,而不是针对实现编程。3.为了交互对象之间的松耦合设计而努力...原创 2019-08-06 21:18:23 · 84 阅读 · 0 评论 -
DesignPattern系列__06迪米特原则
迪米特原则定义迪米特原则,也叫最少知道原则,即一个类应该对自己依赖的类知道的越少越好,而你被依赖的类多么复杂,对我都没有关系。也就是说,对于别依赖的类来说,不管业务逻辑多么复杂,都应该尽量封装在类的内部;对外除了必备的public方法,不再泄露任何信息。1.问题由来我们知道,类和类是有耦合关系的,关系越密切的两个类之间,其耦合关系越大。2.对应措施迪米特原则要求:一个类应该只和之间的直接...原创 2019-08-06 19:07:52 · 89 阅读 · 0 评论 -
DesignPattern系列__01单一职责原则
单一职责原则单一职责原则:一个类应该只有一个原因引起改变,即一个类应该只负责一个业务逻辑。问题由来:类T负责t1, t2两个职责,当因为t1j对类T修改的时候,可能导致类T出现问题而影响职责t2。解决方案:遵循单一职责原则,将类T进行改写,确保一个类负责一个职责。demo:有一个类Animal,具有方法breath功能,一般的思路是这样子设计的:class Animal { p...原创 2019-08-01 17:28:16 · 85 阅读 · 0 评论 -
DesignPattern系列__05开闭原则
介绍开闭原则是编程设计中最基本、最重要的原则。定义:一个软件实体如类、方法和模块等,应该对扩展(提供方)开放,对修改(使用方)关闭。用抽象构建框架,用实现扩展细节。也就是说,在需求发生新的变化时,我们不应该修改原来的代码,而应该通过扩展来满足新的需求。例子引入我们要实现一个画图的功能,能够画出圆形、矩形、三角形等,最常见的思路就是利用面向对象的思想,抽象出一个所有图形对象的基类Shape...原创 2019-08-05 16:53:16 · 102 阅读 · 0 评论 -
DesignPattern系列__03依赖倒置原则
依赖倒置原则(Dependence Inversion Priiciple,DIP)介绍High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Detatils s...原创 2019-08-05 13:58:35 · 85 阅读 · 0 评论 -
DesignPattern系列__04里氏替换原则
1.内容引入——继承体系的思考在继承中,凡是在父类已经实现的方法,其实算是一种契约或者规范,子类不应该在进行更改(重写);但是,由于这一点不是强制要求,所以当子类进行重写的时候,就会对继承体系产生破坏。同时,继承带来便利的时候,也有弊端:给程序带来了侵入性,增加了对象之间的耦合性,可移植性低。当你修改基类时,子类都需要进行相应的修改。那么,如何能够保持继承的优点,同时减少缺点对程序的影响呢?...原创 2019-08-05 13:57:10 · 88 阅读 · 0 评论 -
DesignPattern系列__09设计模式概述
设计模式介绍设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案, 设计模(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式的本质提高 软件的维护性,通用性和扩展性,并降低软件的复杂度。<<设计模式>> 是经典的书,作者是 Erich...原创 2019-08-07 11:51:42 · 86 阅读 · 0 评论