足球/足球软件设计模式

时间:2017-08-15 13:55:07

标签: database design-patterns software-design

一个基本问题。

想想足球/足球。 我想为它制作一个设计模式,但想知道那里是否已有一个。

如下:

我想创建一名足球运动员。

我们有性别。 (男性和女性)。

性别属于系列类别(例如19岁以下的年轻人,18岁以下的年轻人等)。

该系列类别放置在一个区域(或任何状态)。

该地区有其系列'名称(例如系列1,系列2,分区1等)。

例如,我想让女性,​​高级,她在伯明翰演出,并且是第一师。

我想将其映射到数据库中,但我想遵循软件设计模式,但我不知道是否有用于此目的的软件设计模式。

我的尝试是这样的:

stopbits=s.STOPBITS_TWO

2 个答案:

答案 0 :(得分:0)

为什么分别需要“系列”的所有属性。如果这不是必要的话,我会创造一个“足球运动员”和“联盟”对象。也许一个足球运动员可以在一个联赛中打球,但联盟中可能会有很多足球运动员。因此,“足球运动员”和“联盟”之间会存在多对一的关系。

Footballer
{
    int FootballerID
    int age 
    GenderType
    League 
}

League
{
    int LeagueID
    String leagueName
    String regionName
    String categoryName
    GenderType
}

所以FootballerID和LeagueID之间存在多对一的关系。首先,你可以创建一个没有任何足球运动员的联赛。然后,你可以创建一个年龄和性别的足球运动员,然后你可以通过检查他们在联赛类别中的年龄和性别限制来将这个足球运动员添加到联盟。团队对象也可能很好。

答案 1 :(得分:0)

我认为您应该使用规范化原则设计数据库(在此处阅读更多内容 - http://www.studytonight.com/dbms/database-normalization.php

关于软件模式 - 对于您的案例,没有确切的模式。但请使用SOLID等最佳实践和原则。将代码实体映射到数据库实体,反之亦然是ORM的责任,它们存在于不同语言和要求的大量变体中(SQL / NOSQL,代码优先/数据库优先等)。

因此,对于您与足球运动员和球队的确切情况,我认为目前只需要数据库规范化。