前言:
有没有觉得设计产品信息结构图很难,根本无从下手,不知所措?根本原因在哪?
本质原因在于你脑海中根本就没有面向对象的概念和对数据库表结构的理解。
别慌,猪哥这带你探寻从产品信息拆解为对象并将之追溯到数据库底层的整个过程,从而解决你的疑惑。
本文目录:
1、什么是面向对象?
2、什么是产品信息结构图?3、什么是数据库表结构?4、案例解析
三者的关系
1、什么是面向对象?
在面向对象程序设计中,对象指的是具体的某一个事物,在现实生活中能够看得见摸得着的事物。
他其实是一种思维方式,讲究的是将你看到的所有信息化整抽象为一个容器,这个容器可以装很多信息,也可以做很多事,而这个容器就是对象。例如,一台车是一个对象,它的属性有:型号、颜色、大小;方法有:载客、路上跑等。
程序概念:一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。类(class)和对象(object)是面向对象方法的核心概念,面向对象的编程思想一直力图使计算机语言中,对事物的描述与现实世界中该事物的本来面目尽可能的保持一致。
说人话:用计算机语言描述现实世界的万事万物
类:类是一个模板,它描述一类对象的行为和状态,是对一类事物描述,是抽象的、概念上的定义。
对象:对象是实际存在的该类事物的每个个体,是类的一个实例,由属性(同义词:状态、字段)和方法(同义词:行为、函数)构成。
属性:用于描述对象具备哪些特征。平常我们在页面上看到的字段信息,大部分说的就是这玩意儿。
方法:描述对象可以有哪些行为操作。逻辑运算、数据修改以及所有动作都是在方法中完成的。
2、什么是产品信息结构图?
梳理整个产品需要展示的信息,一般认为它是你通过分析整理得出的该产品各个页面应该展示的信息,同时也为后台上传数据提供依据。
结合面向对象思维:描述产品有哪些对象和字段。将你看到的页面信息,抽象处理到一个对象的维度,然后把同一个对象的信息放在一起。
咱们产品人画的信息结构图,不需要与开发同学设计的数据库表结构一模一样,按你的理解将其以单个对象维度抽离出来即可。
3、什么是数据库?数据库是“按照一定的规则来存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
说人话:数据库其实就是一个硬盘,可以向里面存东西,也可以从里面取东西。
依稀记得《java编程思想》中有段话,世间万事万物,皆为对象。很强大,也很有道理。数据库表结构,就是对象在程序语言的体现。咱们做系统设计,追踪到数据底层,就是一个又一个对象,以及对象之间的关系(ER图)。
3.1、数据库概念
0、数据库:每个表由一个名字标识。表包含带有列名的列,和记录数据的行。
1、产品设计本质:无非就是对数据库中各种表格的增删改查(CRUD)。
2、数据库类型:共分为关系型和非关系型,而对于PM的我们能搞懂关系型就可以了。
3、关系型数据库=表结构+表之间的关系。
4、关系型数据库:一种基于现实生活中对象与对象之间关系的数据库。主流关系型数据库:mysql、oracle、db2、sqlite。
5、非关系型数据库:一种相对松散且可以不按照严格的结构规范进行存储的数据库,通常使用json格式的键值对形式表示和存储数据。主流非关系型数据库:MongoDB、CouchDB。应用场景:对存取要求比较高、并发处理比较高的场合。
6、sql:数据库操作语言,对数据库中的数据表进行增删改查的操作。增insert,删delete,改update,查select。
3.2、产品经理可以应用到设计上的思想
表结构:定义一个表的字段、类型、主键、外键、索引,这些基本的属性组成了数据库的表结构。
产品设计场景应用:只需要