是要面向对象,还是简单粗暴?
今天在设计一个通知功能的时候面临一个这样的问题: 是坚持面向对象原则建多个表还是为了改查方便把所有数据都放到一张表里?
我一直的设计原则是: 干净。每张表,每个类都有其自己的意义,导致的问题是在一次操作可能设计多表连接或者多个类的聚合。但是遇到的很多经验丰富的大哥在设计时总是为了操作简单把很多不相关的数据放到一个实体里面,我很迷惑,到底哪种方式是正确的?
相关推荐
- 面向对象数据库(Object Oriented Databases) 前面说几句费话。如今正在从事面向对象数据库在国内的推广工作,假设有兴趣能够与我联系。假设有不论什么问题能够私信我,也能够到我们站点上 面向对象数据库交流社区 来向我提问,我一定以最快的速度解答。 想把 面向对象数据库交流社区 打造成为国内最大的面向对象数据交流的社区,希望有兴趣的与我共同经营这个社区。以下的译文。 面向对象数据库也被称为对象数据管理系统。对象数据库存储面向对象编程语言(如Smalltalk,C++,java等)中的对象而不只像关系数据库那样存储整数,字符串和实数等。对象一般由下面几部分构成:--属性:属性量化对象的特征,这些量有可能是简单的整数,字符串或者实数。也有可能是一个复杂的对象。--方法:方法也通常被称为过程或者函数,方法规定了对象的行为。因此。对象包括可运行的代码和数据。当然对象也有其它特征,比如一个方法或者数据能否在对象以外获取到。可是为了我们的文章简单易懂并应用到面向对象数据库中,在本文中我们
- 封装是java面向对象编程三大特征之一。 简单的属性封装
- 面向对象分析与面向结构分析 一、什么是需求分析 二、为什么要建模? 三、什么是结构化分析方法,怎么用? 四、什么是面向对象分析方法,怎么用?
- 最近在准备面试,总结了几个java中面向对象的几个问题,问题本事还不够全面,要想知道还是要自己去找,但是在面试上应该是没多大问题了
- c++常见面试题30道 1.new、delete、malloc、free关系 2.delete与 delete []区别 3.C++有哪些性质(面向对象特点) 4.子类析构时要调用父类的析构函数吗? 5.多态,虚函数,纯虚函数 6.求下面函数的返回值(微软) 7.什么是“引用”?申明和使用“引用”要注意哪些问题? 8.将“引用”作为函数参数有哪些特点? 9.在什么时候需要使用“常引用”? 11、结构与联合有和区别? 12、试写出程序结果: 13.重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别? 14.有哪几种情况只能用intialization list 而不能用assignment? 15. C++是不是类型安全的? 16. main 函数执行以前,还会执行什么代码? 17. 描述内存分配方式以及它们的区别? 18.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。 19.请说出const与#define 相比,有何优点? 20.
- python 类的简单介绍 1 面向过程的程序设计 2 什么是面向对象的程序设计 3 类和对象 4 类的特殊属性
- 面向对象的初识 """ 此类是构建学生类 """ daily = '学习' examination = '考试' def work(self): print('每天要上课') def homework(self): print('家庭作业') 类名的角度调用类中的属性. 1. 查看类中的所有的内容. 类名.__dict__只用于获取类中的全部. print(Student.dict) print(Student.dict['daily']) 2. 万能的 .点. print(Student.daily) # 查 Student.cloth = '校服' # 增 print(Student.dict) Student.examination = '不考试!' # 改 print(Student.examination) del Student.daily # 删 print(Student.dict) 一般类中的属性都是通过类名.的方式去操控的. 类名的角度调用类中的方法.(一般类中的方法
- 为什么即使用例不被认为是面向对象的,我们还是在面向对象的分析和设计中使用UseCase图?
- C++经典面试题(最全,面中率最高) C++经典面试题(最全,面中率最高) 1.new、delete、malloc、free关系 2.delete与 delete []区别 3.C++有哪些性质(面向对象特点) 4.子类析构时要调用父类的析构函数吗? 5.多态,虚函数,纯虚函数 6.求下面函数的返回值(微软) 7.什么是“引用”?申明和使用“引用”要注意哪些问题? 8.将“引用”作为函数参数有哪些特点? 9.在什么时候需要使用“常引用”? 11、结构与联合有和区别? 12、试写出程序结果: 13.重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别? 14.有哪几种情况只能用intialization list 而不能用assignment? 15. C++是不是类型安全的? 16. main 函数执行以前,还会执行什么代码? 17. 描述内存分配方式以及它们的区别? 18.分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。 19.请说出
- 面向对象五大基本原则 以前一直认为程序中的类有使用到封装继承多态就是面向对象设计,其实不然 封装,继承,多态只是面向对象的三大特性,但是在设计程序的时候并不是说类的结构使用到了(或是体现出了)这三个特性就是面向对象, 其实真正的面向对象设计是要符合下面的五大原则, 面向对象的五大基本原则单一职责原则(SRP)开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP) 单一职责原则(SRP) 开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) ISP 接口隔离原则
- Solution -「ARC 082D」Sandglass (mathcal{Description}) (mathcal{Solution})