考虑这个类结构:
class Test
{
public:
vector<string> nameList;
int getNumberOfUsers();
int getTotalUsersWithFirstAplhabetA() ;
void sortTheNameList();
}
由于用户可以直接访问用户列表,我是否应该提供一些小的帮助功能,比如查找总用户等,因为这些功能无论如何都可以由用户自己提取?
我假设这些功能做的工作非常小。对于需要更大逻辑的功能(如上面的排序),我提供了该功能。
这是一个好的设计吗?
编辑:
我想知道的是,如果我使用界面中的某些功能向用户提供一些类信息,我是否也应该提供一个功能来取回这些信息的子集?
即使我将 nameList 设为私有,并提供一个getter函数来检索它,我的疑问仍然是一样的。我还应该提供其他较小的功能吗?还是留给用户自己实现?
请注意,检索完整列表是我班级用例的明确要求。但是其他实现不是真的必要吗?