`
frenchmay
  • 浏览: 231367 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

比较两种处理业务对象的方法的优劣

阅读更多
Command 是一个封装了命令的请求和响应内容的业务对象,澄清一点这里并不是指的是command模式。
doDispatch方法根据Command内的请求信息获得相应的响应信息。
这里是使用返回一个新建值对象好呢还是对象引用好呢。
希望大家由由代码的优雅和维护性角度来看待这个问题。
貌似DDD这本书里面很推荐两种备选方案中的一种,不过想听听大家的意见。

public Command doDispatch(Command command) ;


public void doDispatch(Command command) ;
分享到:
评论
3 楼 fjlyxx 2008-12-02  
靠映射去反射.
2 楼 WhisperXD 2008-10-04  
软件设计是基于环境和场景的。。
没什么优略之分。。
GOF DP不是万能药。场景需要才需用。
1 楼 laodizhuq 2008-10-04  
public Command doDispatch(Command command) ;


public void doDispatch(Command command) ;

如果是这两个里面选择,我选择第一个,这样你给程序员多了一个方便的写法

比如第一种就可以这么写: A.doDispatch(B.doDispatch(command));
而第二种就得分开两行。

其他的优缺点就不知道了。

相关推荐

    JavaScript创建闭包的两种方式的优劣与区别分析

    下面将详细介绍这两种创建闭包的方法,以及它们的优劣和区别。 构造函数方式创建闭包是指通过构造函数来创建一个对象,并在这个对象的构造函数内部定义变量和方法,这些方法可以访问到对象内部的私有变量。这种创建...

    php面向对象与面向过程两种方法给图片添加文字水印

    例如,在处理一些复杂的业务逻辑时,可能主要使用面向对象的方法,而在一些简单的功能实现中,可能更适合使用面向过程的编写方式。 总之,面向对象和面向过程各有优缺点,没有绝对的优劣之分。在使用PHP进行图片...

    基于JAVA的分布式系统 RMI

    在Java中,RMI(Remote Method Invocation)和CORBA(Common Object Request Broker Architecture)是两种重要的分布式计算框架。 RMI是Java特有的远程方法调用机制,它使得开发者可以像调用本地对象的方法一样调用...

    拦截asp.net输出流并进行处理的方法

    上述两种方法各有优劣,使用自定义容器的方法在某些情况下可能更容易实现,而通过HttpModule实现则提供了更好的扩展性和重用性。值得注意的是,无论采用哪种方法,都要注意不要过度操作输出流,以免影响Web应用程序...

    php和smarty中格式化输出日期和时间的比较

    `DateTime`类是面向对象的日期和时间处理方式,提供了更多的灵活性,例如修改时间、比较日期等。 接下来是Smarty模板引擎,它是一种PHP模板技术,旨在将业务逻辑与视图层分离。Smarty提供了`{date}`函数,用于格式...

    JDBC与Hibernate的比较

    ### JDBC与Hibernate的比较 在软件开发领域,尤其是在基于Java的应用程序中,数据库...通过对JDBC与Hibernate的深入比较,我们可以更好地理解这两种技术的特点及其适用场景,为实际开发中的技术选型提供有力的支持。

    3.8 解析XML

    XML解析是处理XML数据的基础,XMLPull和XMLSAX是两种常见的解析方式,各有优劣。XMLPull更适合资源有限的环境,而XMLSAX适合处理大量数据。理解和掌握这两种解析方式,能够帮助开发者更有效地处理XML格式的数据。

    独立物业管理与开发商下属公司的区别汇编.pdf

    这两种模式各有其特点和优劣,反映了物业管理行业在不同阶段的发展需求和市场环境。 首先,独立物业管理公司的核心特征在于它们与开发商是独立的实体,两者之间不存在隶属关系,而是由同一个投资机构持有。这种模式...

    BeanFactory&&ApplicationContext;

    这两种方式各有优劣,XML配置更加灵活,适合复杂场景,而注解配置则简洁且易于维护。 总的来说,`BeanFactory`和`ApplicationContext`都是Spring IoC容器的重要组成部分,它们在不同层次上支持了对象的管理和依赖...

    业务流程、贷款调查、财务分析、风险评估.pptx

    两种常见的经营模式是: 1. **旧总部控制模式**:设立信贷审批中心和催收中心,优点是标准化、专业化,但需严格的合规制度和内部控制,容忍一定坏账。 2. **稳健发展模式**:总部配备审贷委员会和催收部门,强调...

    JAVA动态代理实现Demo(JDK动态代理和CGLIB动态代理)

    3. **Callback接口**:CGLIB中的`Callback`接口定义了代理对象如何处理方法调用,常见的实现包括`MethodInterceptor`,它允许你在方法调用前后插入自定义逻辑。 4. **示例代码**: ```java import ...

    Activity之间的值传递

    Activity之间的值传递通常有两种主要方式:Intent和ActivityResult API。Intent主要用于启动另一个Activity并传递数据,而ActivityResult API则是Android系统提供的一种新机制,用于更灵活、安全地返回数据到发起...

    iOS应用架构谈网络层设计方案.docx

    这两种方式各有优劣: - **集约化调用**:适合数据量不大且请求频率较高的场景,可以显著减少网络延迟。 - **离散型调用**:适合数据量大或需要实时响应的场景,易于管理和维护。 综上所述,网络层的设计需要综合...

    Hibernate中文参考文档V3.2(HTML)

    8. **Criteria API与HQL的比较**:两种查询方式各有优劣,Criteria API适合动态构造查询,而HQL则更适用于静态查询和复杂的联接操作。 9. **Criteria与Query的使用**:详细讲解如何使用Criteria API创建查询,以及...

    JavaWeb应用开发全套课件.ppt

    在Web应用演化的讨论中,会对比C/S和B/S两种体系结构的特点和优劣。C/S架构适合中小型应用,系统通信开销小,但更新升级成本较高;而B/S架构则简化了客户端,降低了维护工作量,但服务器端数据负荷较大。 接下来,...

Global site tag (gtag.js) - Google Analytics