由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 新手问个OOD的问题
相关主题
求教一道题目更新:还在使馆!这是check了么?h1b (转载)
两道经典design问题求助Got an offer
攒RP, 发Amazon第二轮电话面经Temporary Position of Computer and Network System Administr
Amazon的onsite OOD,求建议where we can get C runtime libary source code
A家最近的设计题恭喜几道面试题
about how to test a calculator program on computer怎么跟老板说从linux admin换到oracle dba。
问个sql问题C++疑问:Animal a,Animal* a,哪种访问方式快
careerCup里面的design online book reader system问题如何设计 RESTful API
相关话题的讨论汇总
话题: user话题: book话题: class话题: search话题: adduser
进入JobHunting版参与讨论
1 (共1页)
c*******0
发帖数: 33
1
CareerCup 上的题, Design the data structure for an online book reader
system, sample solution 如下:
class User {
User_id;
User_details;
Account_type;
Search_Library();
Read_book();
Renew_Membership();
AddUser();
Get();
Set();
};
class Book {
Book_id;
Book_details;
AddBook();
Update();
Delete();
Get();
Set();
};
class OnlineReaderSystem() {
Book B;
User U;
ListenRequest();
Search();
Display();
};
我不理解的地方:
1.为什么User 可以addUser(),Renew_MemberShip(), Book 可以AddBook(), Update(),
Delete()? 这些method是否需要administrator class来实现
2. 如果需要administrator class, 是否private data member应该包含set of Book
和 User?
3. User class 里面的Read_Book() method应该实现什么功能?这个方法为什么不放在
OnlineReaderSystem里面?
4. User是否需要存一个data member 放他自己library里面的书?这里Search_library
()是search 他自己的library还是全部的library?
还有一个general 的问题, 如果我需要一个object A, 还有一个collection of object
A, 是否需要建两个class?比方说book class 和 books class.
谢谢高手指点
h**********d
发帖数: 4313
2
不是高手,我的理解是这样
addUser, Renew_Membership等这些都是User的functionalities,当然需要在User里面
有定义,但function具体怎么实现肯定还需要靠那个onlinesystem
Book class同理
不需要administrator class,这个onlinesystem就相当于那个class。或者可以叫
control class
那个User的search_libary 明显是要去call onlinesystem的search function,
search 整个libary (因为search_libary是User必须要有的functionality,所以在
User里定义,实现是靠onlinesystem的search() function)
最后那个问题,不需要的,哪个class需要collection of books可以在class fields里
定义呀
同求高手见解。。

1.为什么User 可以addUser(),Renew_MemberShip(), Book 可以AddBook(), Update(),
Delete()? 这些method是否需要administrator class来实现
2. 如果需要administrator class, 是否private data member应该包含set of Book
和 User?
3. User class 里面的Read_Book() method应该实现什么功能?这个方法为什么不放在
OnlineReaderSystem里面?
4. User是否需要存一个data member 放他自己library里面的书?这里Search_library
()是search 他自己的library还是全部的library?
还有一个general 的问题, 如果我需要一个object A, 还有一个collection of object
A, 是否需要建两个class?比方说book class 和 books class.

【在 c*******0 的大作中提到】
: CareerCup 上的题, Design the data structure for an online book reader
: system, sample solution 如下:
: class User {
: User_id;
: User_details;
: Account_type;
: Search_Library();
: Read_book();
: Renew_Membership();
: AddUser();

c*******0
发帖数: 33
3
谢谢楼上的回答。这样OnlineReaderSystem()里面是否需要collection of Book 和
User, 而不是只有一个Book B 和 User U?
另外,楼上说“addUser, Renew_Membership等这些都是User的functionalities,当然
需要在User里面有定义,但function具体怎么实现肯定还需要靠那onlinesystem“
我的理解是,addUser是往collection of User里面加一个object,因为Collection of
User是在OnlineReaderSystem里,所以addUser应该在那里实现。可是为什么需要在
User里面定义。难道一个User可以把自己加进collection?
s*****n
发帖数: 5488
4
答案又不是标准,甚至可能是错的。
h**********d
发帖数: 4313
5
不是一个User可以把自己加进collection,是别人调用User的函数
User u = new User();
u.addUser();
上面两行不是User的"行为",是control class的调用
建议你多看看OO的书,你貌似还停留在C的procedure programming思维

of

【在 c*******0 的大作中提到】
: 谢谢楼上的回答。这样OnlineReaderSystem()里面是否需要collection of Book 和
: User, 而不是只有一个Book B 和 User U?
: 另外,楼上说“addUser, Renew_Membership等这些都是User的functionalities,当然
: 需要在User里面有定义,但function具体怎么实现肯定还需要靠那onlinesystem“
: 我的理解是,addUser是往collection of User里面加一个object,因为Collection of
: User是在OnlineReaderSystem里,所以addUser应该在那里实现。可是为什么需要在
: User里面定义。难道一个User可以把自己加进collection?

c*******0
发帖数: 33
6
那addUser()应该怎么定义?能不能写个sample implementation?
另外,楼上能推荐一本OO的书吗?后天要面试了,时间比较紧,最好是能有几个c++的
例子帮助理解的。谢谢啦。
d********y
发帖数: 2114
7
sometimes collection class helps. so adduser can be done in collection class.

【在 c*******0 的大作中提到】
: 那addUser()应该怎么定义?能不能写个sample implementation?
: 另外,楼上能推荐一本OO的书吗?后天要面试了,时间比较紧,最好是能有几个c++的
: 例子帮助理解的。谢谢啦。

z*******y
发帖数: 578
8
顶一个 那位童鞋给介绍本好的OO design的书籍?
写了很多code之后发现这方面也非常需要提高
c*******0
发帖数: 33
9
自己顶一下
r******n
发帖数: 170
10
我觉得你的想法是对的,不过跟书上的解答方向不大一样。
你想的是user, book只是两个model的class, 只包含各自属性的attribute。然后再建
立一个类似于整体系统的interface,包含user, book的vector之类的集合,提供给用
户以search之类的function。
书上的解答,我理解为book, user两个类某种程度把model和modelDAO的概念混合在一
起了,你把user和book的add, delete, update想象成对应后台的table的CRUD,那么这
2个类就是各自的DAO类。这个onlineReaderSystem相当于一个Controller的概念,用来
调用modelDAO的各种function达到用户的request,至于view可以对应user, book各自一
个,当然这里就没那么详细的讨论了。你按照一个常见Web系统的MVC架构想,就容易理
解了。
希望还有人谈谈自己的想法。

of

【在 c*******0 的大作中提到】
: 谢谢楼上的回答。这样OnlineReaderSystem()里面是否需要collection of Book 和
: User, 而不是只有一个Book B 和 User U?
: 另外,楼上说“addUser, Renew_Membership等这些都是User的functionalities,当然
: 需要在User里面有定义,但function具体怎么实现肯定还需要靠那onlinesystem“
: 我的理解是,addUser是往collection of User里面加一个object,因为Collection of
: User是在OnlineReaderSystem里,所以addUser应该在那里实现。可是为什么需要在
: User里面定义。难道一个User可以把自己加进collection?

c*******0
发帖数: 33
11
谢谢楼上的回答。这样想就明白多了。
f**********t
发帖数: 1001
12
我最近也在学习。
我觉得还是用一个administrator class好些。
这个class有collection of User和Collection of Book。
用户可以去read book,也可以有一个data member,记录它借的书/读的书。
欢迎大家提供意见。
1 (共1页)
进入JobHunting版参与讨论
相关主题
如何设计 RESTful APIA家最近的设计题
G家mapreduce一道题about how to test a calculator program on computer
Database Administrator Job opportunity问个sql问题
JAVA 面试挂在 DaseBase 上 怎么破?careerCup里面的design online book reader system问题
求教一道题目更新:还在使馆!这是check了么?h1b (转载)
两道经典design问题求助Got an offer
攒RP, 发Amazon第二轮电话面经Temporary Position of Computer and Network System Administr
Amazon的onsite OOD,求建议where we can get C runtime libary source code
相关话题的讨论汇总
话题: user话题: book话题: class话题: search话题: adduser