0

本着告诉不要问并且永远不要让对象进入无效状态 oop 设计的精神,我想知道如何在动态环境中处理持久性。

举一个人为的例子,假设您需要为一家航空公司编写一个 POS 应用程序。您只能出售可用的座位。座位按平面 -> 部分 -> 行 -> 座位分组。如果某个部分不可用,则该部分中的所有行和座位也将不可用。显然,如果一排不可用,那么该排的所有座位也不可用。
现在环境是高度动态的,因为维护人员可能经常使部分、行或座位可用/不可用。此外,想象一下构建飞机对象图有点昂贵。但是,如果不为每次销售尝试构建整个图表,我看不出如何将业务规则排除在持久层之外,在我看来,这是绝对必须的。
oop 不是解决此类问题的可行选择吗?

编辑:如果有所不同,假设系统由数据库服务器持久化,并且系统的输入是通过 http 瘦客户端进行的。

4

2 回答 2

0

将座位可用性与飞机本身分开。不能每次请求都重建整个飞机,但每次都可以请求座位可用性。

availableSeats = availabilityService.getAvailableSeats(flightId)

availableSections = planeObj.getAvailableSections(seatAvailabilityList)

于 2013-09-14T01:20:44.397 回答
0

我不明白为什么你不能一次构建飞机对象,并在运行中管理它?您必须确保并发访问的安全,但这不正是 OOP 适合的问题类型吗?

也许我误解了你的情况。

于 2013-09-13T17:31:39.203 回答