zoukankan      html  css  js  c++  java
  • 需求分析与代码设计统一新方法(摘自:Jdon创始人彭晨阳)

      DCI是一种构建面向对象应用的新途径。对象有数据属性和方法行为,以前
    我们是封装在一个对象中,因为这个对象在某个需求用例场景中被使用时需要这
    些属性和方法行为。注意,这里面有一个关键点,就是对象被使用。以前我们进
    行面向对象设计,是遵循一种静态原则,因为这个对象被使用需要这些属性和行
    为,所以,我们在编码时将这些属性和行为写在这个类中。

      这个逻辑过程是不对的,那是因为过去程序语言平台落后,导致了我们这种
    思维逻辑。现在的思维逻辑是:对象被使用时需要的属性和行为不一定要在编写
    代码时写入,而是在运行时再注入或Mixin混合进去。这就是DCI架构的本质。

      正如Rebecca Wirfs-Brock在其著作《对象设计:角色、责任和协作》中所
    提到的,MVC的控制器有很多缺点:控制逻辑会变得超级复杂,很多人在Struts
    的action控制器中写业务代码,所有的操作都在action中,有的action都几乎上
    千行了。控制器做很多事情,就意味着领域对象做很少事情,控制器最后不是只
    会做什么、决定战略性的事情,它也和怎么做、如何实现等战术问题耦合。
    直接通过场景和视图绑定,比MVC模式中的Control要自然得多,这种角度
    更符合OO。MVC模式其实是一个结构性模式,因此不适合互动行为能力很强的
    应用,比如Web 2.0社会媒体或游戏等。所以,可以认为DCI架构颠覆了MVC模
    式。用DCI替代MVC,用场景替代控制器应该是大势所趋。

      DCI的思想和Peter Coad的四色原型很相似。四色原型是需求层面,而DCI
    架构是技术实现层面。这两者类似,说明我们终于找到一种方法实现需求分析和
    设计代码的统一了。

  • 相关阅读:
    Optional int parameter 'id' is present but cannot be translated into a null value due to being decla
    Interllij IDEA 使用Git工具
    Interllij IDEA 注释模板(类和方法)
    Intellij IDEA 去掉Mapper文件中的背景
    Interllij IDEA常用快捷键
    JSTL <c:if test=“eq ne lt..”></if> 用法
    启动Tomcat报错 “A child container failed during start”
    服务器证书日期无效 SSL_DATE_INVALID
    window 计算机 开启事务
    MVC Model验证疑难杂症
  • 原文地址:https://www.cnblogs.com/lihaibo/p/2163986.html
Copyright © 2011-2022 走看看