- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 OOP 中与一个小组合作设计一个小组成员,我有一个分歧,我在网上找不到答案。
创建一个类似于非营利组织的软件,该组织的组织有捐助者及其信用卡。
一种方法是 creditCardList
(集合类)应该只存储和返回 creditCard
对象。然后,当返回它们时,Organization
类应该为每个对象运行 processCard()
作为 creditCard
对象的方法。
另一方面是 CreditCardList
应该处理所有内容并包含遍历集合中所有项目的循环。
一般来说,什么是更好的软件设计?
最佳答案
抱歉这么说,但我不会选择这两种方法来实现职责分离原则。如果我对要求的理解正确,那么 Organization 对象是代表接受捐赠的慈善组织的实体。 CreditCardList 是用于支付处理的所有信用卡的集合。它们都不是保存支付处理逻辑的好地方。
相反,我会引入一个新的辅助类,其名称类似于 PaymentProcessor
.此类将有一个名为 processPayment(List<CreditCard> creditCards)
的方法.此方法应包含处理信用卡付款的逻辑。通过这种设计,您还可以在此类中引入其他方法,以使用其他方式(例如直接从银行帐户或 PayPal 借记)处理付款。
根据 OO 设计原则,为了更好的可维护性,我们应该只有一个类或接口(interface)用于一个目的。
我希望这可能有助于解决您与同事之间的建设性分歧。 :)
关于java - 软件设计原理 : Seperate your collection from working on an object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46635005/
大家好……感谢帖子 Using Python: to split long string, by given ‘separators’ ,我学会了一种分割长字符串的方法。 但是,当字符串被分割时,“分
分隔控件的作用就是把控件分隔为几个部分。分隔控件有2两种:水平(HORIZONTAL )或者垂直(VERTICAL )。如果是使用grid布局管理器,需要使用sticky来拉伸分隔控件,否则可能只是
(Get-Content C:\Users\georgeji\Desktop\KAI\KAI_Block_2\Temp\KAI_ORDER_DATARECON3.NONPUBLISH) | Forea
我目前有3个小工具来创建我的应用程序的主页。第一个是body.dart,它是我的主要主页所在的位置。它使用接收屏幕类型来根据设备的大小调整屏幕大小。这可以很好地工作,但我想添加对body.dart中的
我目前有3个小工具来创建我的应用程序的主页。第一个是body.dart,它是我的主要主页所在的位置。它使用接收屏幕类型来根据设备的大小调整屏幕大小。这可以很好地工作,但我想添加对body.dart中的
我们正在为基于 Oracle 11gR1 的新系统设计数据库模式。我们已经确定了一个主模式,它有近 100 个表,这些表将从前端 Java 应用程序访问。 我们需要审计接近 50 个表中发生更改的值,
任何人都可以给我一个将表格和表格中的 Actor 添加到另一个类的舞台的示例吗? 最佳答案 您可以通过舞台作为引用或交出 table public class TableHandler { p
我正在研究 GPS 跟踪器。跟踪器发送一些数据包。每个数据包以起始位(7878)和停止位(0d0a)开始。有时我收到一组数据包。我想将这些数据包分开。我使用下面的代码来分割两个字符。 data='78
我有一个爱好项目,我正在创建自己的软件,该软件将具有不同的模块。这个想法是使模块可堆叠并且可以关闭和打开。我正在使用 MySQL 作为数据库后端,并且想知道在它们自己的模式上拥有特定于模块的表是否更好
我已经通过 highchart 创建了一个散点图,它需要在工具提示框中显示一些数据。 大多数数字包含的都是大数字,因此我想在它们之间添加一些数字分隔符,如下所示 我研究了一些其他帖子说我应该做类似 {
我有一个具有整数 ID 的实体表,我们将其称为实体。在另一个表中,我通过“从”、“到”列以及它们之间的关系类型(我们将此表称为“关系”)来在这些实体之间建立单向关系。实体可能是“双向”的,具有两个相应
在 OOP 中与一个小组合作设计一个小组成员,我有一个分歧,我在网上找不到答案。 创建一个类似于非营利组织的软件,该组织的组织有捐助者及其信用卡。 一种方法是 creditCardList(集合类)应
所以我在学习 Python 的同时从“Violent Python”开始黑客攻击,我遇到了一个问题这是我的代码: import optparse import socket from socket i
我有几个线程,每个线程将输出写入标准输出。但是我想将每个线程的输出重定向到彼此独立的单独文件。 我的意思是: Thread1 将每个打印、每个异常和所有其他输出写入 file1.log Thread2
我的数据框包含三列 name、content 和 day df content day name 0 first_day
我有一个管理 subview View.B 和 View.C 的父 View (View.A)。 View.B 有一个按钮界面,用于控制 View.B 上的事件。 设置 View.A View.B
我正在做一些繁重的核心数据插入工作(比如 A) 刚登录到私有(private)上下文(以避免主线程阻塞)。在这完成之前,不幸的是在代码的某个地方还有一个插入工作(说B)(不重)但是是必不可少的并且还使
这个问题已经有答案了: How do I pass variables and data from PHP to JavaScript? (20 个回答) 已关闭 5 年前。 我这里有这段代码:
我为我的模型查看器编写了一个 collada 加载器。 现在编写它循环遍历所有顶点和索引并创建索引和顶点缓冲区,以便我可以渲染网格。 如果模型未进行三角剖分,我有两个选择。我可以在索引写入我的缓冲区时
(我是 Three.js 新手) 描述 我正在为多个 STL 模型开发 3D 查看器。每个模型都应该在单独的 div 中呈现,因此您会得到一个包含不同模型的网格。文件名存储在一个 json 文件中。使
我是一名优秀的程序员,十分优秀!