#对象责任职责协作

      更多分类

花费优秀程序员95%时间精力的事情 - MICHAEL JACKSON

19-09-12 1 447 3 banq

软件开发人员最常犯的错误是:把东西放在错误的地方。将本来应该分离的责任与概念耦合在一起。对我来说,这占据软件开发中95%。只是 弄清楚*事物所属的地方 。 其他观点: 1. 我担心开发人员会强调并... 详细

GRASP之受保护的变化 - Kamil Grzybek

19-09-05 40 banq

问题:如何设计对象,子系统和系统,以便这些元素的变化或不稳定性不会对其他元素产生不良影响? 解决方案:确定预测变化或不稳定的点,分配责任以围绕它们创建稳定的接口。 在我看来,这是与其他GRASP原则... 详细

GRASP之纯粹的制作模式 - Kamil Grzybek

19-09-05 29 banq

问题:什么对象应该有责任,当你不想使高凝聚力和低耦合时,但其他原则提供的解决方案不合适? 解决方案:将一组高度凝聚力的责任分配给脚手架或帮助类之类工具,这些工具并不代表问题域中的概念。 有时候很难弄... 详细

GRASP之多态性模式 - Kamil Grzybek

19-09-05 71 1 banq

问题:如何根据类型处理替代方案? 解决方案:当相关的替代或行为因类型(类)而异时,将行为(使用多态操作)的责任分配给行为变化的类型。 多态性 是面向对象设计的基本原则。在这种情况下,原则与(以及... 详细

GRASP之间接模式 - Kamil Grzybek

19-09-05 40 banq

问题:在哪里指定责任以避免两件或更多件事之间的直接耦合? 解决方案:将责任分配给中间对象以在其他组件或服务之间进行调解,以使它们不直接耦合。 这是 Mediator Pattern的 用武之地。而不... 详细

GRASP之高凝聚模式 - Kamil Grzybek

19-09-05 43 banq

问题:如何保持对象集中,易于理解,易于管理以及作为副作用支持低耦合? 解决方案:分配责任,以保持凝聚力。用凝聚力大小来作为分配职责的判断标准。 凝聚力 衡量元素的所有责任的相关程度。换句话说,元... 详细

GRASP之低耦合模式 - Kamil Grzybek

19-09-05 63 banq

问题:如何减少变化的影响?如何支持低依赖性和增加重用? 解决方案:分配职责以使(不必要的)耦合保持低水平。使用此原则来评估替代方案。 耦合 是衡量一个元素如何与另一个元素相关的度量。更高的耦合意... 详细

GRASP之控制器模式 - Kamil Grzybek

19-09-05 39 banq

问题:UI层之外的第一个对象是否接收并协调“控制”系统操作? 解决方案:将责任分配给表示以下选项之一的对象: - 表示整个“系统”,“根对象”,运行软件的设备或主要子系统(这些都是外观控制器的... 详细

GRASP 之创建者Creator模式 - Kamil Grzybek

19-09-05 39 banq

问题:谁创建对象A? 解决方案:如果下面情况其中一个为真,则为B类分配创建对象A的责任(越多越好) - B包含或复合聚合A  - B记录A  - B密切使用A  - B具有A 的初始化数... 详细

GRASP 之信息专家模式 - Kamil Grzybek

19-09-05 108 1 banq

问题:将责任分配给对象的基本原则是什么? 解决方案:将责任分配给具有实现它所需信息的类。 在下面的示例中, Customer类引用了所有客户 订单,因此很自然地负责计算订单的总价值: ... 详细

比SOLID更重要的与DDD设计相关的GRASP原则 - Kamil Grzybek

19-09-05 2 248 2 banq

我最近注意到很多注意力都集中在 SOLID 原则上。这是非常好的事情,因为它是面向对象设计(OOD)和编程的总体基础。对于面向对象语言的开发人员,SOLID原则的知识是编写具有良好质量特征的代码的要... 详细

Michael Feathers:编程的艺术

19-08-21 1 51 banq

编程是一次只做一件事的艺术. 详细

上下文映射关系中如何解耦特定和通用的领域? - Nick Tune

19-08-02 187 5 banq

您正在构建一个新系统,并且您的团队的两名成员各自提出了用于发送通知的两种架构,哪一个是正确?如何选择? 第一个开发人员提出的是推送模型:有界上下文应指示通知上下文发送通知。专门的通知上下文应该... 详细

什么是GRASP模式?

19-01-30 338 1 banq

GRASP模式(一般责任分配软件模式)描述了对象设计和责任分配的基本原则和模式。 确定需求并创建领域模型后,如何将方法添加到Class类中,并定义对象之间的消息传递以满足要求。 GRASP模式是一种... 详细

IBM观点:SOA与微服务区别?

18-09-24 1 2487 1 banq

微服务是SOA的发展演进,但是来自IBM一篇博客文章好像将两者完全置于平等的角度进行比较,本文翻译中加入了本人的批判观点。 如果你在IT部门工作,可能已经听过SOA与微服务的争论。毕竟,现在每个人都... 详细

共有 241 2 下一页