当前位置: 首页 > news >正文

用电脑建立网站微网站开发微网站建设

用电脑建立网站,微网站开发微网站建设,怀柔区企业网站设计机构提供,办公空间设计图片从2018年至今#xff0c;已工作了5年有余#xff0c;回望这5年的工作历程#xff0c;虽然一直在学习、一直在积累#xff0c;但其实都在术的层面上停留#xff0c;也就是具体的技术点。这5年多的时间里其实也不是没有窥道的想法#xff1a; 一次是2018年刚工作的时候已工作了5年有余回望这5年的工作历程虽然一直在学习、一直在积累但其实都在术的层面上停留也就是具体的技术点。这5年多的时间里其实也不是没有窥道的想法 一次是2018年刚工作的时候看着leader书桌的《领域驱动实践》觉得自己行了老写CRUD没意思要搞搞于是有了这篇【架构设计 领域驱动开发 一】三层VSDDD当时甚至还只是在实习。只学了一点就没有再继续了核心原因有两点基础的术尚不扎实业务的输入太少根本不懂道的意义何在翻看了半天不知所以然人云亦云罢了。还有一次是在去年2022年的时候那时其实已经积累了一套自己的完备知识体系了也就是术到位了当然也知道自己的深浅所以没有直接开始学习DDD而是去将自己的术升级到最高阶也就有了这篇【Java设计模式 学习目标及大纲】高质量代码的标准及实现路径从面向对象思想、设计原则、设计模式、编码规范、代码重构这几个方面深化自己对于代码和设计思想的认知。 现如今经过一年多的业务工作磨炼自身也开始负责一个独立的模块的开发在开发过程中有一些偶发的困惑和经验也就是有了一些现状的领悟和业务的输入了此时有窥道正当时也。这个系列来自对极客时间的系列学习手把手教你落地DDD DDD的定义是什么 2003 年Eric Evans 写了《领域驱动设计软件核心复杂性应对之道》一书正式提出了这种方法。领域驱动设计的英文是 Domain-Driven Design所以简称 DDD。DDD 是一种开发复杂软件的系统化的方法学和思想通俗的说就是提供了一套复杂软件开发的标准步骤 什么是方法学 方法学是研究和制定研究方法的学科以面向对象方法学为例来说明 如果 Java 代码写得特别溜可以说掌握了面向对象的编程方法如果熟悉面向对象的设计原则掌握很多设计模式那可以说懂面向对象的设计方法如果能为业务概念构建领域模型那可以说懂了面向对象的分析方法。 面向对象的分析、设计、编码三种方法融会贯通成为一个有机的整体这个叫面向对象的方法学分析方法或者说领域建模的方法正是 DDD 的重点步骤 什么是系统化 系统化指的是提供一套相对容易的步骤能够使我们这些中等智商的人也能做到原来高智商的人才能做到的事情从而让你能够省出时间和脑力来探索更复杂的问题。在软件开发领域DDD 就是这样一套系统化的方法学。标准 DDD解决什么问题 DDD即“领域驱动设计”是软件工程中的一种软件开发方法学。它继承了面向对象和敏捷方法的精华并提炼了一套更容易掌握的原则、模式和实践特别适合复杂的企业应用的开发。 通过领域建模DDD可以帮助企业解决业务复杂、需求变化快、微服务架构拆分、系统重构等方面的问题。DDD强调从业务出发进行系统设计利用领域建模将业务知识严格化和可视化对齐业务和开发的理解设计灵活、易扩展的系统帮助业务需求走在正确的方向上DDD还提供了系统化的方法帮助企业建立目标模型和设计目标架构并结合演进式架构和代码重构等技术解决系统架构和代码腐化的问题。 DDD的来源是什么 DDD 是来自面向对象的方法学和敏捷软件开发。DDD 对它们进行了总结和提炼使之更容易学习和实践DDD 就是 OO Done right”。OO 就是面向对象也就是说把面向对象做对了就是 DDD。也可以反过来说面向对象本来就是“领域驱动”的 传统面向对象方法的问题 早期面向对象的成功主要是在几个特定的领域比如计算机语言、图形用户界面、办公自动化软件等等但在企业应用银行的贷款系统、保险公司的理赔系统、电信公司的计费系统方面还没有取得成功。那个时候的面向对象方法学还不能很好地应用于企业应用大体上有以下几个原因 第一个原因是很多开发人员走了一条只重技术不重业务的弯路企业应用是用来解决业务问题的所以我们应该首先把业务研究清楚再通过技术手段来实现。但很多开发人员把主要精力放到技术的研究上比如语言、框架、工具等等。以为把技术学会了自然就能把系统开发好。重技术、不重业务的思想造成了业务和技术人员之间难以相互理解技术人员难以真正满足业务需求。开发人员重技术不重业务第二个原因是围绕业务进行开发的方法本身就不好学领域建模是一种“手艺”。凡是手艺都不是看看书、学学理论就能掌握的而是要经过实践中的磨炼。领域建模实践起来有难度第三个原因是早期面向对象方法学主要考虑的是建模技术很少考虑协作问题早期面向对象应用比较单一协作少。企业应用则不同多数都是团队作战。即使只有一线开发人员也免不了和需求方打交道早期面向对象方法学主要考虑的是建模技术很少考虑协作问题最后一个原因是难以适应变化。企业应用的需求往往变化频繁很多变化根本无法预料。传统的面向对象方法学也很少讨论怎样应对变化的需求传统的面向对象方法学很少讨论怎样应对变化的需求 DDD如何应对企业应用 针对以上的四个原因问题DDD的解决之道如下 把开发者从只重技术的弯路上拉回来“领域”指的就是软件系统要解决的业务问题也可以叫“业务领域”。用领域来驱动设计就是说要从业务出发进行系统的设计。强调这个原则就是希望把开发者从只重技术的弯路上拉回来总结出一套围绕领域建模进行软件开发的模式要搞清业务就要学会领域建模为了简化这个过程DDD 采用了“模式”解决疑难问题应对的高招的方法对面向对象方法学和敏捷软件开发方法进行了提炼总结出了一套围绕领域建模进行软件开发的模式。其中最基础的模式包括模型驱动设计实体、值对象领域驱动设计非常强调业务人员和技术人员要一起协作进行领域建模在这个过程中提炼领域知识。和协作密切相关的模式有通用语言、模型驱动设计、限界上下文DDD 柔性设计使得模型和系统可以随着需求的变化而演进在软件设计中不是一开始就把所有地方都设计得很灵活而是先进行“足够的”和“整洁的”设计。随着业务变化将变化频繁的部分重构得越来越灵活而不常变化的部分则保持不变。也就是说模型中的哪些部分需要设计得灵活是自然演进形成的这样就避免了“过度设计”。这个过程就是柔性设计。而这个重构的过程也是不断加深领域知识理解的过程。 关于协作和演进正是 DDD 的来源之一敏捷软件开发所解决的重点问题 DDD为什么正当其时 DDD2003年就提了出来为什么现在才火 从整个业界来看必要性还不够强。 在 DDD 刚出现的时候很多企业软件还不太复杂一些复杂的软件变化也不像现在这样频繁。甚至还有一些企业干脆每隔四五年把原来的系统推翻重建一次。当时一些新兴的产业例如互联网还处在跑马圈地、野蛮生长的阶段。这时关注的是系统快速上线抢占市场至于软件质量好不好容不容易维护暂时不是考虑的重点。 DDD 普及的一些前提条件也还没准备好: 首先是敏捷软件开发刚刚出现不久还不普及。如果没有迭代开发、持续重构、测试驱动、持续集成等敏捷实践的支持构建良好的领域模型并在代码上落地是很困难的。其次是配套的开发框架还不成熟。那时 J2EE 还被认为是企业应用事实上的标准而基于这种框架开发程序是很难和 DDD 的领域模型相衔接的。2004 年Spring 发布了 1.0 版从技术上基本解决了 EJB 的问题理论上可以比较好地支持 DDD。然而 Spring 的真正普及还要假以时日 那么 DDD 为什么在这几年又火起来了呢 首先是数字化时代的到来使 DDD 变得非常有必要。 数字化时代技术逐渐成为企业核心竞争力的主要因素无论业务还是系统都变得更加复杂。因此如何将业务和技术融为一体就成了很多企业的主要问题而这正是 DDD 的主要优势。行业竞争的加剧也要求系统具有更好的用户体验、更高的质量、更快地满足变化的需求。这些问题很难解决必须引入系统化的方法云计算、微服务等新技术架构的产生也需要方法学的支持 DDD 普及的道路已经铺好这项技术逐渐变得可行。 现在敏捷软件开发已经普及。迭代、演进、协作等思想已经深入人心。DevOps 技术应用得也日益广泛。而且 Spring boot 等轻量级框架已经得到广泛使用。这些框架支持了领域模型与具体技术的关注点分离使开发人员从技术细节中解放出来将更多的精力投入到领域逻辑本身的分析和设计。相关的架构实践也已经研究得比较透彻像整洁架构、事件驱动架构以及 CQRS 等等都有力地支持了 DDD 的落地实施。DDD 本身也在不断完善比如补充了像领域事件等新的模式出现了事件风暴等新的实践 总的来说市场需要DDDDDD所依赖的前提技术准备好了思想也深入人心。 DDD学习的三个阶段 基于认知规律学习分为三个阶段去执行逐渐的从入门到高手 迭代一夯实基础这个迭代旨在通过一个“需求-模型-代码”的闭环初步形成对领域驱动设计DDD过程的完整感觉。 首先学习事件风暴方法梳理行为需求并介绍统一语言**。其次将实操DDD的核心技能领域建模引入实体、关联、模块等重要模式最后进行模型的实现包括建立数据库、设计代码、编写代码。 迭代二渐入佳境学习一些高级的技能 首先从理论、模型和编码层面理解“聚合”。进一步提升领域建模能力深化对分层架构和代码封装的理解。其次学习值对象理解值对象的本质和优点并解决值对象在建模和编程上的一些具体问题。最后学习重要的建模技巧——泛化和限定这是领域建模由初级走向中、高级的关键技能 迭代三掌握更高级的技能 首先介绍“限界上下文”模式通过分而治之来维护概念的一致性。在此基础上进一步学习微服务设计。其次了解事件驱动架构和 CQRS 这两个重要的架构模式。讨论怎样为更加灵活多变的业务建模并深化对高级泛化的理解。最后解决实际的落地问题比如 DDD 切入点的选择遗留系统的改造 整体的知识地图如下图所示 总结一下 DDD的重点是业务驱动的模型设计。它继承了面向对象和敏捷方法的精华并提炼了一套更容易掌握的原则、模式和实践特别适合复杂的企业应用的开发。早期因为市场大多数软件设计都在0-1的阶段DDD的必要性不强且DDD所需的前提条件尚不具备。随着数字时代到来企业应用业务逐步复杂对技术架构的要求也逐步提高且经过发展DDD的前提条件逐步具备所以DDD的使用正当其时。DDD的学习分三个阶段首先是形成一个小闭环业务事件风暴领域建模数据库设计、代码设计、代码编写其次是运用一些最佳实践聚合值对象泛化和限定最后是一些高级用法限界上下文、微服务架构事件驱动架构、CQRS落地问题
http://www.w-s-a.com/news/619663/

相关文章:

  • 如何做地方网站推广沈阳网势科技有限公司
  • 哈尔滨网站优化技术涵江网站建设
  • 做网站搞笑口号wordpress全屏动画
  • 怎么可以建网站小程序代理项目
  • 怎样做软件网站哪个网站用帝国cms做的
  • 网站开发编程的工作方法wordpress dux-plus
  • 廊坊电子商务网站建设公司网站进不去qq空间
  • 南宁网站推广费用创意网页设计素材模板
  • 深圳技术支持 骏域网站建设wordpress 酒主题
  • 东莞网站建设+旅游网站改版数据来源表改怎么做
  • 手机端做的优秀的网站设计企业做网站大概多少钱
  • 优化网站使用体验手机网站解析域名
  • 网站制作 商务做网站的软件名字全拼
  • 阿里巴巴网官方网站温州网站建设设计
  • 传奇购买域名做网站国外网站设计 网址
  • 西安凤城二路网站建设seo网站是什么
  • 网站后台如何更换在线qq咨询代码在线种子资源网
  • 东莞网站优化制作免费中文wordpress主题下载
  • 东莞建筑设计院排名网络优化论文
  • 做牙工作网站郑州前端开发培训机构
  • 温州专业建站网站制作的管理
  • 公司网站开发策划书有没有专门做教程的网站
  • 江苏省工程建设信息网站一天赚1000块钱的游戏
  • 制作响应式网站报价品牌建设整体体系包括什么
  • 网站推广策划报告目前做win7系统最好的网站
  • 东莞网站建设咨询公江西网站建设平台
  • 什么是网站功能源码下载站
  • 石家庄制作网站的公司双柏县住房和城乡建设局网站
  • 影视vip网站建设教程ppt模板免费下载 素材红色
  • 内蒙古城乡建设部网站首页平台网站建设ppt