`
eneasy
  • 浏览: 128337 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

命令查询原则

阅读更多
命令查询原则(command-query separation principle)
摘自《UML和模式运用》Craig Larman著 李洋 等译

任何方法都可能是如下情况之一:
1)执行动作(更新,调整…..)的命令方法,这种方法通常具有改变对象状态等副作用,并且是void(没有返回值的)。
2) 向调用者返回数据的查询,这种方法没有副作用,不会永久性地改变任何对象的状态。
一个方法不能同时属于以上两种类型。
所以查询或者getter方法不会作任何修改,而命令也不会有任何返回值。
举个反面例子:
Missile m = new Missibe();
//看上去对我无妨!
String name = m.getName();
……….
public class Missile
{
…………….
public String getName()
{
launch();//发射导弹
return  name;
}
…………….
}
分享到:
评论

相关推荐

    手机imsi读取 查询工具 查询命令

    对于开发者和安全研究人员来说,理解IMSI的重要性,以及如何在遵循隐私和安全原则的前提下操作它,是非常关键的。同时,探索和学习如何读取或分析这样的工具,可以帮助提升对移动安全的理解,但应确保所有活动都在...

    中国移动终端AT命令规范

    - **设计原则**:遵循简洁、易用、兼容性的设计理念,确保命令集既方便开发者使用又兼容不同的设备。 - **改动准则**:对于现有命令集的任何修改,都需要经过严格的评估过程,以保证不影响现有系统的稳定性。 5. ...

    一些软件设计的原则一些软件设计的原则

    CQS原则主张命令和查询操作应分开。查询操作不改变对象状态,而命令操作则执行修改。遵循这一原则,可以确保查询方法没有副作用,同时保持命令的明确性。在实际应用中,根据需求平衡清晰性和便利性,可能需要适度...

    中国移动通信随e行客户端AT命令接口规范(征求意见稿v2 0 0)

    该规范覆盖了随E行客户端软件通过AT命令与3G通信模块进行交互的所有方面,包括基本信息查询、设置、网络连接、数据传输等功能。它适用于所有使用中国移动3G网络服务的随e行设备。 2. **规范性引用文件** 文件中...

    ThinkPHP v5.x命令执行利用工具(可getshell)

    1. **参数化查询**:使用预处理语句防止SQL注入,同时确保命令执行操作只接受预期的参数。 2. **输入验证**:对所有用户输入进行严格的检查和清理,拒绝非法字符或格式。 3. **最小权限原则**:应用和服务应运行在...

    华为Eudemon 06-命令手册-组播

    指定设备在进行RPF检查时使用最长匹配原则。 - **应用场景**:确保RPF检查的准确性,尤其是在存在多个匹配项的情况下。 ##### 1.2.3 ip rpf-route-static 配置使用静态路由作为RPF检查的依据。 - **应用场景**:当...

    sql命令优化小窍门

    SQL 优化是数据库性能优化的关键部分,好的 SQL 命令优化可以大大提高查询速度和数据库性能。在 SQL 命令优化中,索引的建立和使用非常关键。本文总结了一些常用的 SQL 命令优化小窍门,旨在帮助提高查询速度和...

    中国移动宽带随e行客户端软件AT命令接口规范

    - **接口的设计原则**:介绍了设计AT命令接口时遵循的原则,如兼容性、稳定性等。 - **接口的改动准则**:明确了对现有接口进行修改时应遵循的规则。 5. **基本信息查询与设置接口定义** - **5.1 终端报错命令 ...

    ffmpeg命令大全.docx

    FFmpeg 的基本信息查询命令包括: * -version:显示版本。 * -formats:显示可用的格式(包括设备)。 * -demuxers:显示可用的 demuxers。 * -muxers:显示可用的 muxers。 * -devices:显示可用的设备。 * -...

    mysql5.5内附安装命令

    - **权限管理**: 对用户实施最小权限原则,避免不必要的权限暴露。 总结,MySQL 5.5的快速安装可以通过执行一系列命令实现,而与PHP的集成则需要正确配置`php.ini`和`my.ini`文件。掌握基本的SQL操作和安全实践对于...

    NET应用架构设计原则、模式与实践

    5. **CQRS(命令查询责任分离)**:这是一种将读写操作分离的设计模式,用于处理复杂的业务逻辑。CQRS有助于提高系统的性能,尤其是在读操作远多于写操作的场景下。 6. **事件驱动架构**:基于消息传递的事件驱动...

    web安全防护命令执行课件PPT

    例如,通过URL参数、表单提交或数据库查询,攻击者可以注入命令,导致诸如数据泄露、系统破坏等严重后果。 【PHP命令注入示例】 PHP是常见的命令注入漏洞发生的平台,因为其内建的一些函数如`system()`, `exec()`,...

    华为WCDMA模块EM770W-AT命令接口说明书

    文档提到的设计原则虽然没有具体展开,但通常AT命令接口的设计遵循以下几个原则: - **简洁性**:命令应尽可能简洁明了。 - **一致性**:不同命令之间的格式和结构保持一致。 - **兼容性**:确保与标准AT命令集的...

    HUAWEI MG323 Series 无线模块 AT命令手册

    ###### 1.4.4 AT命令使用原则 - **命令格式**:AT命令通常遵循一定的格式,例如`AT+CMD`,其中`CMD`代表具体的命令代码。 - **响应格式**:模块对于AT命令的响应通常也有固定格式,例如`+CMD: result`或`OK`等。 - *...

Global site tag (gtag.js) - Google Analytics