深圳幻海软件技术有限公司 欢迎您!

软件设计

  • 一篇文章带你了解设计模式——行为型模式

    一篇文章带你了解设计模式——行为型模式在之前的文章我们已经介绍了设计模式中的创建者模式和结构型模式,下面我们来介绍最后一部分行为型模式行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务行为型模式分为类行为模式和对象行为模式,前者采用继

  • 状态模式

    我们把影响对象行为的一个或多个动态变化的属性称为状态,状态模式所处理的对象是有状态的,当然状态复杂才能体现出模式的精髓。简单一点例子就是等红路灯namespace状态模式一{internalclassProgram{staticvoidMain(string[]args){TrafficLightt

  • 互动玩法任务平台介绍

    作者:京东科技雷自海一、概述任务平台是科技内各业务方开展互动玩法的中心化平台,支撑科技内拉新、促活、交易等业务场景,包含基础任务、基于任务的通用活动玩法和业务投放能力。提供了任务玩法的创建、投放、曝光、完成等全生命周期的精细化管理,打造了基于任务的裂变、时间轴等通用活动玩法的规则化运营,致力于提升在

  • 建造者模式

    阅读目录定义建造者模式的结构撸码ProductBuilderConcreteBuilderCarController(指挥者)总结建造者模式的优点建造者模式的缺点适用环境 回到顶部定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以建造不同的表示。回到顶部建造者模式的结构Buil

  • (原创)多线程并发:AQS源码分析(1)——独占锁的实现原理

    谈到java中的并发,我们就避不开线程之间的同步和协作问题,谈到线程同步和协作我们就不能不谈谈jdk中提供的AbstractQueuedSynchronizer(翻译过来就是抽象的队列同步器)机制;(一)、AQS中的state和Node含义:AQS中提供了一个intvolatilestate状态的变

  • 设计模式之(13)--模板方法模式

    今天我们来学习下模板方法设计模式。模板方法(TemplateMethodPattern):抽象的父类中定义一个操作中算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。简单地讲,就是“父类的模板方法定义不变的流程,子类重写流程中的方法”。类图如下

  • 解释器模式

    解释器模式是一种行为型设计模式,它可以用来定义和解释一种语言的文法,并根据文法对句子进行解释。解释器模式通常用于编译器,表达式计算,正则表达式,机器人等领域。它的基本思想是为每个符号(终结符或非终结符)创建一个类,然后使用这些类来构建抽象语法树。在Java中,解释器模式的实现可以参考以下步骤:1.定

  • 访问者模式

    访问者模式是一种将算法与对象结构分离的软件设计模式。它可以让你在不修改对象结构的情况下,对对象结构中的元素进行不同的操作。访问者模式的优点是符合单一职责原则,优秀的扩展性和灵活性。缺点是具体元素对访问者公布细节,违反了迪米特原则,而且如果元素类经常变化,会导致访问者类需要频繁修改。访问者模式适合在以

  • 软件产品实施模式之集装箱搭建盖楼模式

    首先,我们要说明一下什么是集装箱,是能装载包装或无包装货进行运输,并便于用机械设备进行装卸搬运的一种成组工具。现在也经常用于盖楼,集装箱的特点是规格统一,通过不同颜色区分不同的作用。这种模式特别适合标准产品的系统,比如主数据管理,来源,修改,审批,分发。每个流程基本上都是差不多并且固定并且标准化很多

  • 【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现

    【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现 简介桥接模式(BridgePattern)是一种结构型设计模式,它将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,来实现二者的解耦。参与桥接的接口是稳定的,用户可以扩展和修改桥接中的类,但是不能改变

  • 【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现

    简介建造者模式(BuilderPattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。当你希望使用代码创建不同形式的产品(例如各种商品和订单)时,一些基本部件不会变,而其组合经常变化的时候,就可以考虑建造

  • 常用设计模式之简单工厂模式

    简单工厂模式(C++)工厂模式的使用场景也比较多,像是一些组件对象的创建场景,这里说一下简单工厂模式。特点及应用1.特点(1)封装具体实现,只提供管理对象接口举个例子:我现在需要一个界面工厂,工厂只需要给我对应界面就可以,而我不需要去关心界面里面是怎样实现的,如何创建的。(2)集中管理和控制因为创建

  • go-浅学设计模式随记

    责任链模式组成:由多个处理器及处理器处理标志串联组成作用:常用于处理流水线事务,利用多个处理器对同一个对象进行处理,可以利用各处理器开关场景:常见逻辑层处理逻辑:获取参数、fetch数据、逻辑处理数据、返回参数一系列数据处理优点:将复杂的流水线处理逻辑简化为一个个单元,操作较为便捷,可以随意在处理器

  • 设计模式简单介绍

    注:所有知识来源于《设计模式:可复用软件面向对象的基础》1什么是设计模式ChristopherAlexander说过:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。”一般而言,一个模式有四个基本要素:模式名(pat

  • 创建型模式——前言

    注:所有知识来源于《设计模式:可复用软件面向对象的基础》创建型设计模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。在这些模式中有两个不断出现的主旋律:它们都将关于该系统使用哪些具体的

  • 读编程与类型系统笔记03_组合

    1. 复合类型1.1. 乘积类型1.2. 组合一个或多个类型将得到一个新类型,其值为组成类型的全部可能的组合1.3. 元组1.3.1. 一组类型构成,通过它们在元组中的位置可以访问这些组成类型1.3.2. 一种特殊的分组数据的方式,允许我们

  • 读编程与类型系统笔记04_类型安全

    1. 避免基本类型偏执1.1. 把值声明为基本类型,并对其意义做一些隐含的假定时1.1.1. 例如:使用number表示邮编1.1.2. 例如:使用string表示电话号码1.2. 定义类型来显式捕捉值的含义,从而避免错误解释值1.2.1.&nbsp

  • 读编程与类型系统笔记05_函数类型

    1. 策略模式1.1. 在运行时从一组算法中选择某个算法1.1.1. 封装一组算法1.1.2. 在运行时使用其中一个算法1.2. 把算法与使用算法的组件解耦1.3. 面向对象实现1.3.1. 惯例实现1.3.2. ISt

  • 读编程与类型系统笔记06_函数类型的高级应用

    1. 装饰器模式1.1. 扩展对象的行为,而不必修改对象的类1.2. 装饰的对象可以执行其原始实现没有提供的功能1.3. 优势1.3.1. 支持单一职责原则1.3.1.1. 每个类只应该承担一种职责1.4. 经典实现1.4.1.&

  • (Java)设计模式:结构型

    前言这篇博文续接的是UML建模、设计原则、创建型设计模式、行为型设计模式,有兴趣的可以看一下3.3、结构型这些设计模式关注类和对象的组合。将类和对象组合在一起,从而形成更大的结构*3.3.1、proxy代理模式定义:为某对象提供一种代理以控制对该对象的访问。即:客户端通过代理间接地访问该对象,从而限

  • 读编程与类型系统笔记07_子类型

    1. 子类型1.1. 在期望类型T的实例的任何地方,都可以安全地使用类型S的实例,则类型S是类型T的子类型1.1.1. 里氏替换原则(Liskovsubstitutionprinciple)2. 名义子类型2.1. 明确指定2.2. 显式声

  • 读编程与类型系统笔记08_面向对象变成的元素

    1. 面向对象编程1.1. (Object-OrientedProgramming,OOP)1.2. 基于对象的概念的一种编程范式1.3. 对象可以包含数据和代码1.4. 数据是对象的状态1.5. 代码是一个或多个方法1.5.1.&nbsp

  • 读编程与类型系统笔记09_泛型数据结构

    1. 恒等函数1.1. 在代数中,恒等函数指的是函数f(x)=x1.2. 恒等逻辑与getNumbers()和assembleWidgets()的问题域解耦,因为恒等逻辑和问题域是正交的,或者说是独立的2. 类型参数2.1. 将不同函数的区别,即它们

  • 读编程与类型系统笔记10_泛型算法和迭代器

    1. 常用算法1.1. map()1.1.1. 接受一个T值序列和一个函数(value:T)=>U,将该函数应用到序列中的全部元素,然后返回一个U值序列1.1.2. 别名1.1.2.1. fmap()1.1.2.2. select()

推荐阅读