接口隔离

通俗一点讲,接口隔离就是当一个类需要继承另一个类时, 如果被继承的类中有继承的类用不到的方法或者属性时,就不要去实现这个继承。如果真的情非得已必须要继承,那么也需要从被继承的类中再提取出一个只包含需要部分功能的新类型,最终去继承这个新类型才是正确的做法。 换句话说,实现继承的时候,不要去继承那些用不到的事物。

使用继承的时候

第一课就是只有满足IS-A(是一个)关系时才可以使用继承,如果仅仅是复用代码,并不是我们使用继承的理由。使用组合是复用代码提倡的方式,也就是所谓的HAS-A(有一个)的关系,相信每个程序员都听过“少用继承,多有组合”这句话,这句话是软件开发业的先驱们千锤百炼总结出来的,值得我们去遵循。

MVC要实现的目标是将软件用户界面和业务逻辑分离以使代码可扩展性、可复用性、可维护性、灵活性加强。

View层是界面,Model层是业务逻辑,Controller层用来调度View层和Model层,将用户界面和业务逻辑合理的组织在一起,起粘合剂的效果。所以Controller中的内容能少则少,这样才能提供最大的灵活性。

比方说,有一个View会提交数据给Model进行处理以实现具体的行为,View通常不会直接提交数据给Model,它会先把数据提交给Controller,然后Controller再将数据转发给Model。假如此时程序业务逻辑的处理方式有变化,那么只需要在Controller中将原来的Model换成新实现的Model就可以了,控制器的作用就是这么简单, 用来将不同的View和不同的Model组织在一起,顺便替双方传递消息,仅此而已。

以上参考 https://www.cnblogs.com/aspwebchh/p/8853659.html

最新文章

  1. UI设计中的48dp定律【转】
  2. git提交远程仓库命令
  3. No prohects are avaliable for deployment to this server
  4. Git删除tag
  5. Struts2(十四)拦截器实现权限管理
  6. Sping中的事务配置
  7. Android获取ip地址
  8. JavaScript中Ajax的get和post请求
  9. bootstrap日期时间插件datetimepicker
  10. Objective C—创建单例
  11. Servlet 的基本架构
  12. 同台电脑部署多组Tomcat负载均衡(或集群)
  13. cookie和session的区别(搜狐笔试考到的一个题目)
  14. 【社交系统ThinkSNS+研发日记三】基于 Laravel Route 的 ThinkSNS+ Component
  15. PHP和java比较
  16. Mybatis3 快速入门
  17. Nginx实现文件的上传和下载
  18. linux 下的OpenGL的安装配置
  19. 《Practical Vim》第八章:利用动作命令在文档中移动
  20. 002.NTP服务端搭建

热门文章

  1. Vue-Quill-Editor回显不显示空格的处理办法
  2. /etc/apt/sources.list
  3. Vim 命令记录与回放
  4. Ubuntu application
  5. Javascript函数的参数arguments
  6. Tomcat报错:HTTP Status 500 - Wrapper cannot find servlet class
  7. Arc065_E Manhattan Compass
  8. 解决苹果手机Safari浏览器下 字体显示为 蓝色的 问题
  9. bzoj 3779: 重组病毒 LCT+线段树+倍增
  10. BZOJ1720:[Usaco2006 Jan]Corral the Cows 奶牛围栏