首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏vivo互联网技术

    源码解读Dubbo分层设计思想

    一、Dubbo分层整体设计概述 我们先从下图开始简单介绍Dubbo分层设计概念: [0d75865675664a43abf4a003d4a62281~tplv-k3u1fbpfcp-zoom-1.image serialize:抽象序列化模型,兼容多种序列化框架,包括:fastjson、fst、hessian2、kryo、kryo2、protobuf等,通过序列化支持跨语言的方式,支持跨语言的rpc调用; Dubbo这么分层的目的在于实现层与层之间的解耦 RPC调用过程 接下来结合上图简单描述一次完整的rpc调用过程: 从Dubbo分层的角度看,详细时序图如下,蓝色部分是服务消费端,浅绿色部分是服务提供端,时序图从消费端一次Dubbo方法调用开始,到服务端本地方法执行结束

    62400发布于 2021-09-14
  • 来自专栏微信公众号:Java团长

    公司分层思想的演化历程

    来源:www.cnblogs.com/wangsen/p/5052068.html 分层思想的演化是根据实际业务的需求不断改进而来的,下面就来讨论一下我们公司分层架构思想的演化历程: 第一阶段【大杂烩 其实到这里我们另一个分层就出来啦:business层 给该层的定义:该层的项目必须是一个提供“共享”业务流程。 其实到这里我们的另外一个分层就出现了:base层 我们给该层的定义是:该层中的项目有且只能代表一个真实存在而且能独立存在的核心实体对应的业务。

    37030发布于 2018-12-13
  • 来自专栏Java职业技术分享

    Spring 中的注解与分层思想

    Service 表示了在软件分层设计中的Service层,用来连结数据层(DAO)和展示层(Presentation)。 为什么要在DAO层上加一层Service呢? 这样写的原因很大程度来源于上面的分层理论,我们确实将应用分成了展示层(web layer),服务层(service layer),数据层(repository/dao),但是实际后果却是一个极其庞大的service 所有这些分层方式都是为了解决应用从小项目成长为大项目时可能遇到的隐患,代价是在项目还小时,增加了项目的复杂度,往往一句代码就能搞定的事情,却要拆到三个类中去。

    1.8K00发布于 2018-09-28
  • 来自专栏雷子说测试开发

    Appium系列(十五)继续利用分层思想优化代码

    前言 在上一篇文章--Appium自动化(十四)引入分层思想优化代码,由于代码的逐渐增加,原有的文件足够大,不利于维护,为了更好的维护呢,我们利用分层化的思想对于代码进行拆分,优化

    54920发布于 2021-03-30
  • 来自专栏雷子说测试开发

    Appium自动化(十四)引入分层思想优化代码

    前言 在上一篇文章--Appium自动化(十三)引入ddt管理测试用例数据,由于代码的逐渐增加,原有的文件足够大,不利于维护,为了更好的维护呢,我们利用分层化的思想对于代码进行拆分, ")) rune = un.TextTestRunner() rune.run(suite) 最后的目录如下: image.png 这样我们就对代码利用分层的想法对于代码进行做了简单拆分

    56320发布于 2021-03-30
  • 来自专栏王清培的专栏

    .NET简谈分层架构思想(彻底分离每个层)

    之所以要写这篇文章作为技术爱好者之一更愿意与大家分享技术给我们带来的快乐,本人将从另一个角度来解析.NET分层架构的真正奥秘。 分层,一些技术功底比较薄弱的程序员听到分层就会联想到三层架构(BLL,DAL之类的),其实不是,分层是一个很大的技术框架思想,三层架构只不过是对普通的信息系统来说,将信息的流转通过三层来分解,在开发系统时一般总会在解决方案中新建一个 ,是从总体上对系统进行一个分层,里面涉及纵横向的概念,一个大的系统从业务逻辑来讲可以不是单单的对信息的处理,也可能涉及到对一些其他的逻辑处理,这里就不能单单的把逻辑抽象到三层中,三层是横向分层中的一个层 层中主要是用来对数据库的增、删、改、查操作,将其抽象成BLL和DAL也是我们所熟悉的三层;在另外两个业务逻辑层中一样可以将其分解层多道子层;将子层分开后就要涉及到具体实现的问题了,就拿C#面向对象语言来将,架构跟思想都是一些方法论的东西 这样让BLL、DAL去实现BLLI和DALI接口,完全分离开发,这也是面向对象所提倡的面向接口编程而不是面向实现编程; 以后BLL层出现问题可以完全替换掉换另一个BLL层,DAL层同样也一样;但是这是思想性的东西落实到代码还没那么简单

    92730编辑于 2022-03-14
  • 中台-核心共性业务能力复用和分层构建思想

    但是中台的思想仍然是值得我们思考和学习的关键点。再次说明中台思想核心不是微服务,而是SOA参考架构分层构建和复用思想。 所以我原来在讲中台讲微服务的时候一直在强调,核心的一个概念就是中台思想它不仅仅是微服务化,更重要的是它是SOA架构思想的一个应用。 SOA架构思想里面一个核心就是要去找到企业里面你的核心的业务核心应用系统可复用的能力,用这些可以复用的能力快速的去组装你上层的应用,所以说脱离了SOA架构思想你谈中台不合适。 ,从纵向的架构思路转到横向的分层的思路,把共性的东西抽取出来独立建设,建议完了以后再暴露接口,只有这种方式你才能够逐步的沉淀你的业务中台能力。 第二个从传统的纵向建设的思路,转到横向分层建设的思路,不要再去搞前端应用和后端模块的一一绑定,你只有进行了横向的分层解耦,你才逐步会具备了构建可复用的业务中台的这么一种思想

    34510编辑于 2025-06-24
  • 来自专栏王清培的专栏

    .NET简谈分层架构思想(彻底分离每个层)——后补

    先给大家说声不好意思,在本人的".net简谈分层架构思想(彻底分离每个层)"文章中由于缺乏示例代码,所以给大家理解带来不便,小弟先赔礼;这篇文章我补充所有实现彻底分层的全部代码。 彻底分层的好处是能合理的分配各个人员的工作量,比如在我们某一个项目团队里面可能有的人偏向于UI设计开发,有的偏向于业务逻辑的编写,熟悉公司核心业务的人可以不需要管UI层和业务层的实现方式,只要实现数据访问层的代码 也不知道实现的项目或这程序集(dll)文件在哪里,所以我只需要公布一个实现接口供其他人去实现,我通过接口去调用相关的实现代码;上文中的反射代码是最关键的实现;请看我的项目结构图: 在我的项目里面就是完全按照分层架构 (纵横分层)来实现的;有一个主要程序Hz.DataGather.Main,这个项目是所有的界面层也就是UI层,对UI层而言我不需要知道所有实现功能的对象在哪里我只需要通过接口去调用就可以了,请看图:

    34720编辑于 2022-03-14
  • 来自专栏程序员成长充电站

    计算机领域的三个重要思想:抽象,分层和高阶

    本文致力于概括本寒对计算机界三个重要思想的体会和认识。 我希望做的并不是简单的百科全书式的列举(“A 体现了抽象思想;B 体现了分层思想…”),而是从这些思想中选取几个我个人较有体会(或者是我单纯觉得十分有趣)的侧面拿来细讲。 某种程度上,本文中提到的其它两点思想_分层_和_高阶_同样是抽象的一种形式,但是我个人认为将它们单独拎出来会有一些特别的指导性意义和方法论层面上的价值——关于这点在本文的其它部分中会再作说明。 有关分层 相比_抽象_侧重于一种心智活动(从特化的到泛化的,从具体的到笼统的)、强调一种 “抽取” 的动作,分层要更加客观,它强调概念之间存在明显的、更加客观的断层,这些断层,或者说是界面,或者说是接口 个人认为,本节讨论的思想或许是本文的所有思想中最为重要的那一个。

    81910编辑于 2024-04-11
  • 来自专栏学习

    【Spring MVC】如何运用应用分层思想实现简单图书管理系统前后端交互工作

    代码会更加的"杂乱⽆章"(⽂件乱, 代码内容乱) 2.1介绍 阿⾥开发⼿册中, 关于⼯程结构部分, 定义了常⻅⼯程的应⽤分层结构: 但是这个仅供参考即可; 1.什么是应用分层 应⽤分层 是⼀种软件开发设计思想 ,是⼀种标准的软件分层构。 如下图所示: 可以看到这是一个标准的MVC架构思想; 由于现在的前后端分离的原因: 所以对于Java后端开发者, ⼜有了⼀种新的分层架构: 把整体架构分为表现层、业务逻辑层和数据层. ⻆度不同也就谈不上互相替代了,在⽇常的开发中可以经常看到两种共存的情况 但是两者的目的:都是"解耦,分层,代码复⽤"(高内聚,低耦合) 2.2代码重构 此时我们实现分层应用的思想实现上述代码的改进: 1 ,以及优点和如何实现,并通过应用分层思想改进了后端代码; ~~~~最后希望与诸君共勉,共同进步!!!

    30310编辑于 2025-01-17
  • 来自专栏效能与质量

    分层测试(一):什么是分层测试?

    什么是分层测试? 分层测试是通过对质量问题分类、分层来保证整体系统质量的测试体系。 分层测试实现代码、服务、界面分层测试的整体架构目标,逐层建设完善自动化测试能力,逐步做到在保证质量的前提下提升需求交付效率。 可以这么说,当你遇到对一个系统进行整体保障,不知道怎么入手的时候,进行分层测试是一个良好的解决思路。 分层测试的优点 层次分明:各层测试目标清晰,能形成效果叠加,增强质量防护能力。

    1.2K10编辑于 2023-02-27
  • 来自专栏DDD

    分层架构

    最近连续做了两个新项目,借着新项目的机会,重新审视一下之前一些实践方法,进而寻求一下背后的理论支撑 新项目开始,首先一个就是会新建一个project,那么这个project怎么分层,怎么创建module 经典分层 以传统方式,经典的MVC分层,就controller,service,model ? 找来一张servlet时代的经典处理流程,虽然技术手段日益更新,但处理流程是一样的 ? 抽象一下,经典的分层就是: ? 现在大多数系统都是这种分层结构。 DDD带了很多的认知的改变,最大的好处是将业务语义显现化,不再是分离数据与行为,而是通过领域对象将领域概念清晰的显性化表达出来 当然这世间并没有银弹,但至少能给我们带来一种改进经典分层的理论支撑 DDD

    81731发布于 2021-03-23
  • 来自专栏DDD

    DDD分层

    为什么分层 引用《领域驱动设计模式、原理与实践》 为了避免将代码库变成大泥球(BBoM)并因此减弱领域模型的完整性且最终减弱可用性,系统架构要支持技术复杂性与领域复杂性的分离。 引起技术实现发生变化的原因与引起领域逻辑发生变化的原因显然不同,这就导致基础设施和领域逻辑问题会以不同速率发生变化 每一层都有各自的职责,显然这也是符合SRP的 如何分层 DDD的标准形态 ? 这样有些另类,所以暂时先把repository全部放在了service层 迷思: 1、基于mybatis的实现,mapper本身是接口,repository实现类放在domain层,不要接口,这样满足DDD分层规则 倘若不放在位于内部核心的领域层,就只能放在领域层外部,这又违背了整洁架构思想 3、是不是有别的理论支撑解决问题2 generator-assist-client-api 为了生成api的swagger response对象 assist-controller controller层,放置controller 包结构: controller 所有的controller xxljob xxljob补偿任务 按DDD分层规范

    3K20发布于 2021-03-23
  • 来自专栏_春华秋实

    分层架构

    分层架构是将系统拆分成具有独立职责的多个层次,以协同提供完整的功能。常见的分层方式包括MVC架构和三层架构(表现层、逻辑层、数据访问层)的设计。 三层架构介绍一种常见的分层方式是将整体架构分为表现层、逻辑层和数据访问层:表现层:顾名思义嘛,就是展示数据结果和接受用户指令的,是最靠近用户的一层;逻辑层:里面有复杂业务的具体实现;数据访问层:则是主要处理和存储之间的交互 分层有什么好处: 分层设计简化了系统设计,使得团队成员可以专注于特定层次的开发,提高了代码的复用性和系统的横向扩展能力,尤其适用于复杂业务和高并发系统设计。 分层架构的不足: 分层架构会增加系统的复杂度和性能损耗,因为增加了中间层次可能导致额外的网络交互开销;也增加了代码复杂度(针对业务场景使用分层,例如后台业务可以不分)三层架构和 MVC 结构的区别MVC 故,它们的关系如下图所示:参考链接MVC 和三层架构详细介绍了 MVC 和 三层架构的不同架构分层:我们为什么一定要这么做?详细介绍了 三层架构 在业务上的具体使用和优缺点

    86420编辑于 2024-09-19
  • 来自专栏图像处理与模式识别研究所

    灰度分层

    labels[i,j]=1 else: labels[i,j]=2 psdimg=color.label2rgb(labels)#灰度分层 cv2.imshow("result",psdimg) cv2.waitKey() cv2.destroyAllWindows() 算法:灰度分层是按照灰度值范围划分为不同的层级, 灰度分层技术将灰度图像转换为伪彩色图像,且伪彩色图像的颜色种类数目与强度分层的数目一致。

    1.4K10编辑于 2022-05-28
  • 来自专栏C/C++、数据结构、算法

    算法思想总结:分治思想

    - 力扣(LeetCode) class Solution { public: void sortColors(vector<int>& nums) { //三路划分的思想 还原 for (int j = left; j <= right; ++j) dp[j] = temp[j]; return ret; } }; 十,总结 分治思想的典型应用就是快速排序和归并排序

    34510编辑于 2024-04-14
  • 来自专栏不想当开发的产品不是好测试

    测试分层

    # 背景 纯属个人总结,总结下目前接触到测试方法/体系 # 个人总结 从开发架构上来分层 目前接触到项目,基本上都是如下图的架构模式(MVC),每一层都衍生出对应的测试 ? 对应的测试: ? 因此测试的本质的业务的质量,而不是为了测试而测试 自动化是为了提高效率,是为了保证的解决业务的稳定性,性能是为了保证业务的体感 从流程上来分层 ?

    1.1K10发布于 2018-08-30
  • 来自专栏一个会写诗的程序员的博客

    计算机软件设计中的抽象分层思想:操作系统,网络协议等

    计算机中最重要的思想就是抽象,或者说是封装. 抽象和分层是我们的强力武器,我们可以利用它们让我们的计算机系统更加强大,完成各种”不可能“。 操作系统,应用软件设计,网络协议栈等等,都体现了分层思想分层中,每个层次负责不同的功能。一般来讲,下层为上层提供服务,上层不要知道下层的具体实现细节,只需使用下层提供的服务。而层与层之间联系的桥梁就是“接口”(Interface)。 举个例子,在计算机网络中,处于应用层的协议,如http,ftp等,可以”享受"传输层提供给他们的服务,他们无需考虑底层链路细节,无需考虑报文是如何到达接收方,这就是分层带来的好处! 我们有了分层之后,所带来的可复用性,亦是独立性等,都有助于我们更好的管理计算机这一庞大的系统。 比如,对于物理硬盘的抽象,可以把它看成一个存储各种数据的对象,有read和write方法。 在设计操作系统时,就体现了主要的分层思想. os管理计算机硬件, app 通过os提供的接口调用使用硬件, 在os的设计中, 广泛使用了分层设计的思想: 计算机网络分层架构

    1.4K30编辑于 2022-01-07
  • 来自专栏UI自动化

    分层测试

    现在为了腾讯视频增值团队的分层测试,了解了一些内部和外部的自动化框架,他山之石可以攻玉,这里列出来和大家一起学习。 自动化的认识 ---- 为什么要建设自动化? 主要当前QA工作中存在众多的痛点。 分层自动化的理念 在理解分层自动化之前,我们先看自动化测试金字塔。

    6.7K63发布于 2020-06-14
  • 来自专栏程序编程之旅

    【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)

    分层思想是:表现层调用逻辑层,逻辑层调用数据层。不可以反过来 每个class文件都带了包名字,建好文件就可以了。

    47110发布于 2021-01-21
领券