首页 > 其他分享 >设计模式

设计模式

时间:2023-09-21 20:01:47浏览次数:33  
标签:迭代 代码 中间件 模式 设计 设计模式

1. 设计模式分为:

  • 设计: a. 就是设计原则 b. 设计模式的来源依据,是怎么来的. c. 是一种指导思想.
  • 什么是设计? a. 设计按照哪一种思路或标准来实现功能. b. 根据指导思想,结合开发经验总结的"模板". c. 关联:从设计到模式.
  • 为什么有设计? a. 功能相同,但有不同的实现方案. b. 前提是需求的迭代改变,设计的作用就才能体现.否则一次性功能就没有迭代一说.

2. 缺点:

(1). 代码规范性或设计模式的痛点:

  • 业务开发中为什么不能很好应用设计模式的因素?
  • 性能: a. 在极端情况下,如Java语言,设计模式面临着更多的类文件、更多的代码. b. 在有些类加载和内存使用上的成本,自然是略微高于不使用设计模式: (1). 有些设计模式(如:单例模式、享元模式等)就是为了提高性能、节约资源. c. 良好的代码维护性要远远大于微小的性能开销.
  • 类爆炸: a. 复杂的设计模式,需要依靠业务建模,并不能拿来即用,甚至生抄硬套. b. 设计缺陷、过度设计,单纯为了使用设计模式,写出对应逻辑复杂的代码,类会爆炸. c. 如策略模式,如果业务情况很多,也必须把每个情况实现类写出来.
  • 团队成员编码水平: a. 很难约束初级工程师维护高内聚、低耦合、开闭原则、设计模式、六大原则等设计思想 b. 初级工程师对框架适应性: (1). 如代码里没有统一异常处理,到处是自己的try catch. (2). 项目中里工具类库管理.
  • 项目大环境: a. 架构特点: (1). 流量时代、高并发、大流量 (2). 各种微服务、中间件建设等 (3). 关注点在于加机器、加中间件、加配置等上层建设,忽略团队代码水平,也没有review原则
  • 时间成本与敏捷开发: a. 业务频繁变动、项目快速迭代 b. 修改代码,思考全局性(是否其它代码也有相同修改需求)、正确性、以及分支影响性(是否影响其他逻辑).
  • 人员流动

标签:迭代,代码,中间件,模式,设计,设计模式
From: https://blog.51cto.com/u_16255561/7556552

相关文章

  • HeadFirst设计模式学习之责任链模式
    【一】介绍引入当你想要让一个以上的对象有机会能够处理某个请求的时候,就使用责任链模式(ChainofResponsibilityPattern)。【二】场景引入自从推出Java版本的糖果机之后,万能糖果公司收到的电子邮件数量已超出他们所能处理的范围。据他们自己分析,所收到的电子邮件有四类:......
  • 设计模式
      设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。     毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件......
  • 趣解设计模式之《珍爱生命,远离只狼》
    〇、小故事小王最近打算入手一款叫《只狼》的游戏,这款游戏特别的硬核,也就是说,普通的小怪战斗力都特别的强,而作为主角的我们,也很容易被小兵打败。除了游戏中的小兵和Boss很难打败之外,如果在游戏中被杀了,也需要从这章的开头开始打,没办法直接从死亡点附近复活,这个就又为游戏增加了......
  • 设计模式之单例模式
    单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。在Java中,实现单例模式有多种方式,以下是其中两种常见的实现方式:饿汉式单例模式(EagerInitialization):在类加载时就创建实例,并且该实例在整个程序生命周期内都是唯一的。publicclassSingleton{......
  • 软件设计模式系列之九——桥接模式
    1模式的定义桥接模式是一种结构型设计模式,它用于将抽象部分与其实现部分分离,以便它们可以独立地变化。这种模式涉及一个接口,它充当一个桥,使得具体类可以在不影响客户端代码的情况下改变。桥接模式将继承关系转化为组合关系,从而减少类之间的紧密耦合度,使得系统更加灵活和可扩展。......
  • 趣解设计模式之《会飞的橡皮鸭》
    〇、小故事小王公司要开发一个养鸭子的模拟养育游戏。游戏中会出现各种类型的鸭子。小王设计了一个基础的鸭子类——Duck类,这个类有3个方法:【quack】用来描述鸭子叫声的方法;<br>【swim】用来描述鸭子游泳姿态的方法;<br>【display】用来描述鸭子外貌的方法;然后通过继承Duck类......
  • C#中的高级主题:设计模式和架构
    简介:欢迎来到C#语言入门指南的第十四篇博客!在之前的博客中,我们已经学习了C#的基础和一些高级编程概念,包括内存管理、性能优化和安全性。今天,我们将深入研究C#中的高级主题,包括设计模式和架构,以帮助您构建更可维护和可扩展的应用程序。让我们开始吧!1.设计模式:设计模式是一些被广......
  • 设计模式(六)适配器
    一、定义将一个类的接口转换成客户希望的另一个接口。适配器模式让那些接口不兼容的类可以一起工作。适配器模式是一种结构型模式。二、描述包含以下三个角色:1、Target(目标抽象类):目标抽象类定义了客户所需要的接口,可以是一个抽象类或接口,也可以是一个具体的类,由于C#不支持多继......
  • HeadFirst设计模式学习之OO设计模式入门
    【一】引入---鸭子无论在哪门编程语言中,都离不开我们最熟悉的鸭子模型,因此作者在引入部分也是利用鸭子作为案例引入我们进行入门的学习【1】鸭子游戏现在我们需要做一款模拟鸭子游泳的游戏在游戏中,有不同的鸭子,不同的鸭子都会游泳和呱呱叫而这款游戏的实现思路就是一......
  • 前端设计模式:单例模式(Singleton)
    00、基本概念单例模式(SingletonPattern),也称单体模式,就是全局(或某一作用域范围)唯一实例,大家共享、复用一个实例对象,也可减少内存开销。单例模式应该是最基础、也最常见的设计模式了。✅常见场景:全局状态vuex,Jquery中的全局对象$,浏览器中的window、document都算是单例。......