码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第二部分:对象之间的关联


         关联类型: 一对一、一对多 、多对多


         一对多关联可以用一个集合类型的实例变量来实现,也可以使用一个访问方法来查询数据库,找到相关记录,并用这些记录来实例化对象。这两种设计方法反应了同一个模型。设计时必须指定一种遍历机制,这种遍历行为应该和模型中的关联一致。


          现实中有大量的“多对多”关联,很多关联天生就是双向的,但这些普遍存在的关联会使实现和维护变动很复杂。
         在这里有几种方法可以使得关联易于控制
           1.规定一个遍历方向
           2.添加一个限定符,以便更有效地减少多重关联
           3.消除不必要的关联


         对关联进行约束是非常重要的,双向关联意味着只有将这两个对象放在一起考虑才能理解他们。当应用程序不要求双向遍历时,可以指定一个遍历方向,以便减少相互依赖,并简化设计。


         限定多对多的关联遍历方向可以有效的将其实现简化为一对多的关联,使用限定符可以有效的将一对多关联,简化成一对一关联。从而得到一个简单得多的设计。


         坚持将关联限定为领域所倾向的方向,不仅可以提高这些关联的表达力并简化其实现,而且还可以突出剩下的双向关联的重要性。当双向关联是领域的一个语义特征时,或者当应用程序功能需求双向关联时,需要保留它,以便表达出这些需求。

  • 相关阅读:
    Visual Studio Code 中编译和调试 CMake 项目(Milvus Knowhere为例)
    前端面试题日常练-day20 【面试题】
    JP《乡村振兴振兴战略下传统村落文化旅游设计》许少辉书香续,山水长
    JAVA 开发中常用的工具有哪些?
    GPU利用率背后的性能真相
    [spring学习]13、声明式事务(@Transaction)
    计算机视觉+人工智能面试笔试总结——深度学习基础题1~20
    服务网格和微服务架构的关系:理解服务网格在微服务架构中的角色和作用
    测试 SAP 电商云 Spartacus UI 3.4.x 和 4.3.x 的 guest checkout 功能
    语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
  • 原文地址:https://blog.csdn.net/u014745465/article/details/134264818
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号