设计模式之--几个基本概念

一:单一职责原则(single Responsibility Principle)
  接口尽量做到职责的单一性,类可以灵活设计,通过实现不同的接口来达到目的

二:里氏替换原则
  父类出现的地方,子类都可以出现。增强代码健壮性,版本升级时,即使增加子类,原有子类不受影响。每一个子类是一个业务实体,通过父类参数接收子类,根据子类的不同来执行不同的业务逻辑

三:依赖倒置原则
  面向接口编程,实现类需要依赖于他的接口或者抽象类。做到类之间的松耦合。接口即规则。

四:迪米特法则
  类之间解耦,做到高聚合、低耦合。优点:可以提高类的复用率。缺点:一个类想使用另一个类,增加了类直接的跳转,不能够直接引用,如果跳转的次数过多,则考虑重构。

五:开闭原则
  WWW原则来讨论问题,what 、why、how。软件实体应该对修改关闭,对扩展开放,即软件的功能不是通过修改代码,而是通过扩展代码来实现的。组件化开发的思想

六:其他
  约定大于规则,开发团队需要有自己的一个约定,这个约定是大于普众的开发规则的。
  封装变化,通过设计模式来将变化带来的影响最小化
  预知变化

时间: 2024-10-31 14:18:12

设计模式之--几个基本概念的相关文章

[设计模式] 耦合和解耦的概念解析

耦合就是两个层之间有依赖关系?==同一个层也可能有依赖关系 看见有解耦的方法就是在相互依赖的两层之间加一层,可是新加的一层不是又和原来的两层有耦合关系了吗?==解耦的方式是让设计依赖于抽象,而不是依赖于实现,看看设计模式的原则 到底什么是耦合??==A明确地使用B资源 publci class A { B b; } public class B { } 现在A依赖于B interface IX { ... } public class A { IX i; public A(IX i) { thi

设计模式——生成器

近期的心得,我发现学一门设计模式,无论你能否立马理解它,第一最要紧的是要记住两个东西.1.它是属于什么范畴的设计模式.2.记住UML图.这两个是打开这个设计模式之门的金钥匙.为什么这么讲?由于刚刚学新的设计模式.假设一味的埋头在文字中,思想中,代码编写的样例中,假设你这个设计模式又不是看的非常懂.实在是会让人晕头转向看的吐血身亡.结果在身亡前,你都不知道这个设计模式干什么用.也不知该怎么去写.心得是,看完一篇设计模式文章.先记住它属于什么范畴的设计模式,然后就是把UML类图背记下来.再然后回头再

JAVA设计模式之单例模式(转)

本文继续介绍23种设计模式系列之单例模式. 概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例.饿汉式单例.登记式单例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3.单例类必须给所有其他对象提供这一实例. 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例.在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都或多或少具有资源管理器

(CZ深入浅出Java基础)设计模式笔记

一.面向对象思想设计原则 1.单一职责原则 其实就是开发人员经常说的"高内聚,低耦合",也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个.在设计模式中,所有的设计模式都遵循这一原则. 2.开闭原则 核心思想是:一个对象对扩展开放,对修改关闭.其实开闭原则的意思就是:对类的改动是通过增加代码进行的,而不是修改现有代码.也就是说软件开发人员一旦写出了可以运行的代码,就不应该去改动它,而是要保证它能一直运行下去,如何能够做到这一点呢?这就需要借助于抽象和

啃完设计模式

按照一天两个模式的速度终于把设计模式给啃完了(虽然跳过了Interpreter),直接上的四人帮的那本 啃的顺序参考了这篇: http://mahemoff.com/paper/software/learningGoFPatterns/ 反正就是按照看目的.看例子.看类图,之后根据类图/例子代码用Java实现一次,最后找一些其他人的po看看思路对不对 目前大概就是对这23个设计模式有了一定的概念,看到这个模式大概知道是怎么实现的,遇到类似的问题大概知道有这么个模式可以来解决这样 本来接下来是准备

23种设计模式系列之单例模式

本文继续介绍23种设计模式系列之单例模式. 概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例.饿汉式单例.登记式单例. 单例模式有以下特点: 1.单例类只能有一个实例. 2.单例类必须自己创建自己的唯一实例. 3.单例类必须给所有其他对象提供这一实例. 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例.在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都或多或少具有资源管理器

java设计模式学习

每次面试都需要看设计模式,每次都很好的理解了,但是实际开发中没有应用总是忘记.现在把它汇总一下. 二十三种设计模式 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 其实还有两类:并发型模式

如何通俗理解设计模式及其思想

术与道 数据结构,算法,设计模式被认为是程序员必备技能的三叉戟,如果说编程语言的语法特性和业务编码能力是[术],那么这三者可以称得上是[道]--[术]可以让你在IT行业赖以生存,而[道]则决定你未来在技术这条道路上可以走多远. 边学边忘的窘境 先自我介绍一下. 我是一个两年工作经验的Android开发人员,就像很多同行一样,对于数据结构,算法,设计模式这些被奉为程序员必修的三门内功,几乎没有去系统性地学习过(曾经专业课的数据结构,如今也基本还给了老师). 你问我想不想当一个称职的程序员,当然!数

15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码)

15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码) 前言 设计模式是一个程序员进阶高级的必备技巧,也是评判一个工程师工作经验和能力的试金石.设计模式是程序员多年工作经验的凝练和总结,能更大限度的优化代码以及对已有代码的合理重构.作为一名合格的前端工程师,学习设计模式是对自己工作经验的另一种方式的总结和反思,也是开发高质量,高可维护性,可扩展性代码的重要手段. 我们所熟知的金典的几大框架,比如jquery, react, vue内部也大量应用了设计模式, 比如观察