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

网站后台根据前端做吗网站服务器租用和托管

网站后台根据前端做吗,网站服务器租用和托管,c2c网站建设的需求分析,18款免费软件app下载推荐MVC OR DDD 说明:这篇是标题党,不包含相关概念说明 前段时间跟随师兄学习了解了DDD领域驱动模型,觉得这个思想更好,进行下面解析和学习方面的思考和实践,觉得很好,耐心读下去。希望对您有所帮助。 首先&am…

MVC OR DDD


说明:这篇是标题党,不包含相关概念说明

前段时间跟随师兄学习了解了DDD领域驱动模型,觉得这个思想更好,进行下面解析和学习方面的思考和实践,觉得很好,耐心读下去。希望对您有所帮助。

首先,面向对象出来已久,但是大多情况下,我的思考分析方式停留在了MVC面条层面,比如学生管理系统,直接思考的是应该有哪几个表【学生,班级,成绩。。。】,然后基于这个表应该有哪些字段,进行数据库设计,生成dao,service层进行简单逻辑CRUD,Mangager和Controller,包个VO,暴露给前端,自己手动调用一下,好,没啥大问题,提交,部属个机器丢给前端,联调完事。
但是后面开发的时候前端对照PRD进行开发的时候经常发现,这个字段咋没有,这个PRD的交互不太合理,需要增加字段,更为复杂的时候,是你有一对N的表映射的时候,你发现你的状态字段,不是来源一个表,要主表,审批表,从表,聚合之后而来,好不容易写完了,然后测试,发现某个操作之后,展示的不对,产品看了看法完成之后的,这个咋不符合他原先的设计。我们不得不接受的现实是一千个人眼中就有一千个哈姆雷特以及你的需求不可能不变化。
那么我们怎么解决这类现象。其实我们上面开发代码的时候思考的方式用形象的比喻的话就是面条代码,基于底层数据库表,一层添加点东西一层一个entry,现在想想很形象。
后来接触DDD【领域驱动模型】,我们先要对领域边界划分,领域内进行高内聚,对于边界外的,让对应的领域提供必要的接口,我们核心设计的内容,不再是数据库中存储的表,把设计的中心,上移到领域层,我们应该划分那些领域,这个领域有那些model,这个model的主键(值对象)是什么,别的model都依赖这个值对象,另外我这个领域的对象,应该有那些能力(比如,鸭子这个领域对象,应该可以飞,吃)这些核心能力就是这个领域应该拥有的方法,另外这个对象应该是充血还是贫血(MVC那块只有getset方法的是贫血模型)把属于这个对象的方法放到这个领域对象中,就是这个对象拥有飞的能力。这样才更符合我们OOP的现实。
上面主要有两个问题,1。哈姆雷特,这个就需要一个开发团队中,大家【产品,系统owner,开发,测试】有统一的认知,统一的语言,向同一个方向搞项目,这个东西,客观其实比较难实现,多数情况下,面向领导编程模型中,我们是要向上级展现结果的,而不是我们的代码有多规范,并且这个东西,需要大家有统一的时间,有一定的学习成本,以及人员流动情况。但是我们需要有一定的项目结构,这就要求我们要有一定的文档记录我们的项目是干什么的,发展方向,未来愿景,不知道多少项目做到后面还能保持原来设计的方向,如果你的方向已经做的很大的改变,对于不重构的系统来说是灾难性的,并且你会发现,偏航不是一天跑远的,是潜移默化的。对于一个持久发展的项目,这个是一个严重影响的方向。所以哈姆雷特问题对于权限不高的小开发是一个黑洞。但是我们可以根据目前产品界面上的重点,用户高频使用的,重点关注的点,进行汇总,总结,这个项目前面的航向。2.变化的需求,项目要发展就要改变创新,跟你申请专利差不多,最难的就是创新型,最简单的就是改变外观,优化下界面,改变下交互,这可能就是某些人,向上交的作业,不过我要说明的是,改变用户习惯的习惯很可怕,对于一个用户习惯的改变会应该一段时间内用户的体感,不知道多少产品会考虑这方面的影响,OOP中一条重要的规则,对于修改关闭,对于扩展开放,对于之前的用户已经习惯的东西,如果你的新设计没有明显的好处就不要重新设计了,不如多思考下用户痛点,项目的核心是什么,多push下开发,共同解决优化下。DDD中很重要的思想是依赖倒置,领域层依赖存储层。这样你变更的核心的领域中那个对象应该拥有什么属性,能力,而不是这个应该存储到哪个表里面。另外一个就是加防腐层,外部第三方和前端页面中间加防腐,防腐,而不是前端有一个小的变化直接击穿到领域里面了,当然你原来领域中没有的肯定是要击穿到领域层的。
鬼扯半天毛用没有,举个例子,最近面试,八股文很多,在看和学习的过程中思考应该吧这个思想运用到生活中,我命名为糖葫芦模型。
网上借图
我们从一个java文件为开头,沿数据流向分析过程
java文件通过javac编译成class文件,然后通过ClassLoad加载进行内存,ClassLoad是双亲委派,最上面的是BootstrapClassLoad,加载rt.jar内容 【进入ClassLoad域】…
加载进内存后,JMM模型包含下面几个区域【JMM域、堆栈方法区pc本地方法区】【垃圾回收】
执行引擎+本地接口
这样从数据流向看过去,经过一段是一个领域,这样坐地铁什么的时候直接看我们串了几个糖葫芦就行。
mysql糖葫芦
sql -> conn -> server端 链接 解析 优化 + 缓存 -》 执行引擎
这样就又是一个糖葫芦,这种方法其实就是我们常见的图书目录【一般来说图书的目录是渐进式的,并不一定有数据流向有关系】,但是一个别致的名字总是会引起新的兴趣。水文一篇,欢迎吐槽

http://www.yayakq.cn/news/338941/

相关文章:

  • 关于 公司网站建设的通知怎么用wordpress建立本地网站
  • 长沙品牌网站建设实力强网站建设服务合同交印花税吗
  • 电脑如何做网站空间中国建筑信息平台
  • 通信建设工程项目经理查询网站中国风网页设计欣赏
  • 做机器人的网站无锡百度网站推广
  • 信阳做网站推广信阳网站建设鞍山玉佛苑官网
  • 做网站系统公司seo是什么职位
  • 网站做竞价经常会被攻击吗哪些公司的网站做的漂亮
  • 推上网站深圳制作网站开发费用
  • 网站的主机空间是wordpress 4.7.3 乱码
  • 电商类网站有几个主流程百度统计wordpress
  • 开发网站公司桂林网站制作公司
  • 如何做直接打开网站的二维码网络公司经营范围网站建设
  • 电脑做视频的网站做网站 php j2ee
  • 怎样做影视网站不侵权设计方案收费标准
  • 网站建设类型的好处首页网站怎么做
  • 5188关键词平台seo服务顾问
  • 上门做网站哪里有如何用本地视频做网站
  • 上海做网站 公司网站设计欣赏中国
  • 东莞网站开发杭州建设信用网官网
  • 手机网站百度关键词排名查询ftp 打开wordpress
  • 军事网站 模板网站开发与服务器匹配
  • 如何用wordpress快速建站建建建设网站首页
  • 中国设计网站推荐广告资源发布平台
  • 手机网站设计需要学什么泉州做网站联系方式
  • 网站建设 300元wordpress支付文件在哪里设置
  • 简约大方网站wordpress环境安装
  • 威联通做网站江苏网站seo优化
  • 南京网站建设公司有友情链接的网站
  • 设计与制作网站最专业的企业营销型网站建设公司