机房重构之接口层的好处
来源:互联网 发布:电脑软件怎么安装 编辑:程序博客网 时间:2024/06/05 23:08
机房敲完了,就开始总结各个层,各个设计模式的应用与好处,其实这样顺序是错误的,应该先知道它的原理,再去应用,这样就知道为什么要用了。总结到接口层时,发现接口层,除了多写了代码,没发现什么好处,为什么不直接写D层方法那,知道接口好处后,才发现,不是因为不知道接口的好处而不知道接口的好处,好处是怎样体现的那,是通过代码,而我发现我的代码,尤其是类,写的太多,也可以说没有理解为什么用接口,所以代码中没有体现,自然接口的好处没用到。
说到接口,首先说一下说一下抽象类与接口的区别:
1.类是对象的抽象,抽象类是对类的抽象,对类整体的抽象;接口是对行为的抽象,对类局部的抽象
2.对于一些相似的类对象,用继承抽象类;行为跨越不同类时,可使用接口
3.抽象类是从子类中发现了公共的东西,泛化出父类,然后子类继承父类;接口是根本不知道子类的存在,方法如何实现还不确定,预先定义
在我理解内,机房重构接口的作用感觉就有上面提到的1、2条区别
1.接口是行为的抽象,且类必须实现接口的所有方法
其实我们D层实现的主要方法就是对数据库的增删改查(行为),所以只需定义4个接口,然而我的接口写了好多,为什么是4个那,因为方法是4个,而类要实现接口的话,就必须实现接口的所有方法,所以把增删改查分别写成接口。
2.行为是跨越不同类的,也就是说当不同的类有相同的行为时,可把该行为抽象成接口
猫可以“看路”,人可以“看路”,但猫和人完全是不相干的类,但他们有相同的行为“看路”,所以就把“看路”抽象为一个接口,供不同的类使用
反射到我们七层,有注册用户、有设置基础数据等不同的类,而他们用到共同的行为“增删改查”,所以这时用到了接口
当然还体现了别的好处
3.多态
D层去实现接口,接口知识定义了一个具体的方法名,而具体怎么实现的是D层做的工作,而D层中不同的类又会调用同样的接口,即实现不同的接口,而方法体不同,即具体的实现方法,这时就体现了多态
4.开放封闭,利于扩展多变的情况
如果我后期发现我还有功能没实现,需要添加新功能,只需在D层添加类,该类实现相应的接口,而无须该接口,这样只需在Factory层稍微带动一下返回的接口类型即可(这没有完全符合开放封闭原则,但也有体现)
5.便于不同开发人员合作
如一个项目较复杂,需要多个人去写类,而每个类都用到了“增删改查”行为,这时就对他们进行了一种约束,让他们都去继承接口,这样也防止了功能丢失的情况,另一方面别的程序员肯定会用到该方法,当他用该方法时,只需调用一下接口即可。
【总结】
不要做一名码农!
- 机房重构之接口层的好处
- 机房重构之接口
- 【机房重构】之七层登陆
- 机房重构之七层登录
- 机房重构之--七层架构
- 机房重构之七层登陆
- 机房重构之七层登录
- 机房重构之七层登陆
- 机房重构之七层登录
- 机房重构之七层登陆
- 机房收费系统重构之七层系统登录
- 【机房重构】之七层登录不要怕
- 走在机房重构的路上之七层(一)
- 走在机房重构的路上之七层(二)
- 【机房重构】之数据库的操作
- 【C#】七层登录<机房重构>
- 机房重构---七层登录
- 机房重构—七层登录
- 支持向量机(中)
- PTA5-2 树种统计(map+vector+unique)
- mycat分库初体验
- 极大似然估计
- Ubuntu GCC安装、版本切换
- 机房重构之接口层的好处
- Objective-c基础 NSNumber与int之间的转换
- 在 NetBeans IDE 中对 Java 应用程序进行性能分析的简介
- PopupWindow简单实用小例子之弹出内容显示框(一)
- jvirtualvm通过jmx远程连接jvm
- mysql下载+安装+启动过程及问题解决
- 内部类二三事
- Python多线程与多进程
- 543. Diameter of Binary Tree 二叉树的直径