9、说下数据库范式;设计模式的分类

1.1 第一范式(1NF)无重复的列
比如oracle中的date类型,一般会把年月日 / 时间放在一起 一个字段内.
1.2 第二范式(2NF)属性完全依赖于主键[消除部分子函数依赖]
比如memcache里的所有的value都对应一个key值.......好不好查不是我们关心的事.
1.3 第三范式(3NF)属性不依赖于其它非主属性[消除传递依赖]
比如C语言中常常用到的指针,跳来跳去....

 

----------

第一范式 每两行不能重复 ,一列信息只能是单值,不能是多值
第二范式 一个表里所有列都必须全部依赖主键,不能部分也不能不依赖主键,订单价格和标准产品价格,部分依赖
第三范式 依赖不能传递 比如学生表,里有毕业学校,如果再加一个院校地址,依赖传递了,再加个表

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

设计模式:模式是一种问题的解决思路,它已经适用于一个实践环境。并且可以适用于其他环境。 

设计模式的分类:分布式编程模式,用户界面模式,数据模型模式三大类。 

设计模式的作用:设计的重用; 
                        为设计提供共同的词汇,每个模式名就是一个设计词汇,其概念使得程序员的交流变得方便; 
                        在开发文档中采用模式词汇可以让其他人更容易理解你的想法。 

GoF设计模式的分类: 
根据目的准则分类: 
 1. 创建型:creational 与对象的创建有关。 
 2. 结构型:Structural 处理类或对象之间的组合。 
 3. 行为型:behavioral 描述类或对象如何交互及如何分配职责。


创建型模式

1.抽象工厂模式 AbstractFactory 
2.建造者模式 Builder 
3.工厂方法模式 Factory Method 
4.原型模式 Prototype 
5.单例模式 Singleton 

结构型模式 

1.适配器模式 Adapter 
2.桥接模式 Bridge 
3.组合模式 Composite 
4.装饰模式 Decorator 
5.外观模式 Facade 
6.享元模式 Flyweight 
7.代理模式 Proxy 

行为模式 

1.职责链模式 Chain of Responsibility 
2.命令模式 Command 
3.解释器模式 Interpreter 
4.迭代器模式 Iterator 
5.中介者模式 Mediator 
6.备忘录模式 Memento 
7.观察者模式 Observer 
8.状态模式 State 
9.策略模式 Strategy 
10.模板方法模式 Template Method 
11.访问者模式 Visitor 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值