摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等。 Java是一流的面向对象语言,除了部分简单数据类型,Java 中的一切都是对象,即使数组也是一种对象,每个类创建的实例也是对象。在 Java 中定义的函数或方法不可能完全独立,也不 ...
Part1 ITerator模式 作用:循环不依赖具体的集合实现,扩展性比较好。 1.1 Iterator模式 使用Java语言显示数据arr中的元素时,我们可以使用下面的for循环语句遍历数组。 for (int i = 0; i < arr.length; i++) { System.out.p ...
在企业的商业活动中,订单是指交易双方的产品或服务交易意向。交易下单负责创建这个交易双方的产品或服务交易意向,有了这个意向后,买方可以付款,卖方可以发货。
在电商场景下,买卖双方没有面对面交易,许多情况下需要通过超时处理自动关闭订单 ...
访问者模式是一种将算法与对象结构分离的软件设计模式。它可以让你在不修改对象结构的情况下,对对象结构中的元素进行不同的操作。访问者模式的优点是符合单一职责原则,优秀的扩展性和灵活性。缺点是具体元素对访问者公布细节,违反了迪米特原则,而且如果元素类经常变化,会导致访问者类需要频繁修改。 访问者模式适合在 ...
数据字典是系统中基本的必不可少的功能,在多种多样的系统中,数据字典表的设计都大同小异。但是使用方式确是多种多样,设计好一套易用的数据字典功能模块,可以使开发事半功倍。 常用的数据字典使用方式: 直接在SQL语句中LEFT JOIN (当然是不推荐这样用的) 查询出原始数据,然后再根据原始数据需要的字 ...
一起来看看大道至简的一些基本设计思想,首先我们来看一下什么是封装。 封装:也叫做信息隐藏,或者数据访问保护。放到程序上来讲,就是隐藏类的属性,还有实现细节,仅对外公开一些接口。那么外部,就只能通过这个类暴露的这些访问接口,按照这个类提供的方式来访问类的内部信息或者数据。这样子的一种情况就叫做封装。 ...
解释器模式是一种行为型设计模式,它可以用来定义和解释一种语言的文法,并根据文法对句子进行解释。解释器模式通常用于编译器,表达式计算,正则表达式,机器人等领域。 它的基本思想是为每个符号(终结符或非终结符)创建一个类,然后使用这些类来构建抽象语法树。 在Java中,解释器模式的实现可以参考以下步骤: ...
RxEditor是一款开源企业级可视化低代码前端,目标是可以编辑所有 HTML 基础的组件。比如支持 React、VUE、小程序等,目前仅实现了 React 版。 RxEditor运行快照: 项目地址:https://github.com/rxdrag/rxeditor 演示地址( Vercel 部 ...
如何画好一张架构图,要做好这件事情首先要回答的就是什么是架构图。我们日常工作中经常能看到各种各样的架构图,而且经常会发现大家对架构图的理解各有侧重。深入追究到这个问题,可能一下子还很难有一个具象的定义,如果我们把这个问题进行拆分,理解起来就会容易一点。 ...
cola前言 COLA提供了一整套代码架构,拿来即用。 其中包含了很多架构设计思想,包括讨论度很高的领域驱动设计DDD等。 COLA 的分层是一种经过改良的三层架构,主要是讲传统的业务逻辑层拆分为展示层、应用层、领域层和基础设施层。 展示层(Presentation Layer):负责以 Rest ...
1.简介 定义:将某个对象中围绕某个主题的一些列行为委托给一个代理对象去执行,代理对象将控制和管理对原有对象的访问,调用者想要访问目标对象,必须通过代理对象去间接访问,代理对象在调用方和目标对象之间可以起到”中介“的作用。代理一词本身,其实就可以很好发现的关键点,如果暂时无法理解晦涩的概念,那么在阅 ...
常用API API概述 API全称是应用程序编程接口,是Java写好的程序,程序员可以直接调用。 Object类:toString方法 Object是祖宗类,它里面的方法,一切子类对象都可以使用。 public String toString() 默认是返回当前对象的地址信息。 Student s ...
跨平台开发框架是客户端领域的经典课题,几乎从操作系统诞生开始就是我们软件从业者们的思考命题。为了促进 Flutter 在 4 个端的成熟,企业微信研发团队也和 Google 团队针对电脑端 Flutter 稳定版的落地做了多轮技术沟通。终于在近期的版本实现同一个功能跨平台 4 端同步上线。企业微信每... ...
大型企业智能化-数字化转型基础-关注点 业务中台,多半是传统的成本中心,把后台的资源整合成前台打仗需要的“中间件”,方便被随需调用。典型的业务中台如字节跳动的直播中台、腾讯的技术中台等。“业务中台”也被称为“有形的中台”,因为是有实体部门存在的。 数据中台是在政企数字化转型过程中,对各业务单元业务与 ...
经过几年的平台建设,vivo监控平台产品矩阵日趋完善,在vivo终端庞大的用户群体下,承载业务运行的服务数量众多,监控服务体系是业务可用性保障的重要一环,监控产品全场景覆盖生产环境各个环节。从事前发现,事中告警、定位、恢复,事后复盘总结,监控服务平台都提供了丰富的工具包。从以前的水平拆分,按场景建设... ...
面向对象高级第一天 static关键字 是静态的意思,可以修饰成员变量,也可以修饰成员方法 成员变量的分类 静态成员变量 有static修饰,属于类,与类一起加载,内存中只有一份,可以被共享访问。 什么时候用呢?如果信息要被共享,只需要一份就用静态成员变量,比如:系统在线人数。 访问规则: 建议用类 ...
今天我们来学习下模板方法设计模式。 模板方法(Template Method Pattern):抽象的父类中定义一个操作中算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。简单地讲,就是“父类的模板方法定义不变的流程,子类重写流程中的方法”。 ...
摘要 近两年即时通讯/直播产品炙手可热,市场上针对ToB的产品日益增多,企业该如何去选型呢?本文分享了笔者对于直播产品的思考,将从直播SDK实例功能特性、常见业务场景、注意事项及最佳实践等方面介绍如何进行实例选型,旨在帮助您了解应如何结合实际业务场景选购音视频产品。 前言 近期,ChatGPT火遍全 ...
《阿甘正传》中,阿甘开始了不停地跑步,一段时间后,后面就有了很多追随者一起跑,他们为什么跑哪?
阿甘:我也不知道,只是想跑而已。
追随者:感觉这样做是有意义的,而且阿甘也还在前面领跑。
类似地,一开始我也不知道DDD是什么,但当发现大家都在提DDD、都在学DDD的时候,我也像跟跑者一样不由自主地加... ...
架构的核心是管理复杂度,架构师的核心能力是抽象能力,什么是抽象能力?抽象能力就是一种化繁为简的能力。何为化繁为简?就是把一种复杂的事情变得简单的能力,比如通过打比喻让别人很容易听明白你说的意思就是一种抽象能力。如何锻炼抽象能力?我觉得有三种方法,第一种是用归纳法找共性,从多个问题中找到共同的问题提炼... ...