如何让用户只借阅书籍副本而不进行审核?

问题描述 投票:0回答:2

所以我正在建立一个图书馆管理系统,我有这个文件类,可以是书(livre)类型或审查(revue),每个文件有几个副本,用户只允许借书的副本而不是评论的,我找不到任何其他方式,而不是制作两个副本(示例)类一个用于书籍和其他用于审查。提前致谢。

class diagram of library

class oop object inheritance uml
2个回答
2
投票

为什么不是两个类:书和评论。 (请告诉你的老师,最好使用英语作为课程名称并避免重音:我从未在代码中看到带有重音的班级名称)

我会改变复制和文档之间关联的方向。我知道文件是文件的官方参考。它可以是一个标准化的,在世界上所有的图书馆都可以是相同的:它的作用不是管理副本。

你得到很多没有属性和方法的类:它们可以用简单的枚举代替。

然后,以下模型显示用户只能借书。此解决方案避免使用OCL。即使OCL可能是一个好主意:它简化了模型,但增加了OCL规则的复杂性。

class diagram of library


1
投票

我会做的事情如下:

public class Document
{
    //document properties
}
public interface IBorrowable
{
    Document Lend();
}

public class Book : Document, IBorrowable
{
    public Document Lend()
    {
        throw new NotImplementedException();
    }
}
public class Review:Document
{

}

我认为这种方式很有意义,因为能够借用的是一种能力,特定种类的文件可以拥有。

这种方式的另一个原因是动态足以涵盖您可能需要的其他未来类型的文档。

class diagram

© www.soinside.com 2019 - 2024. All rights reserved.