设为首页收藏本站

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 305|回复: 0

设计模式六大设计原则

[复制链接]

签到天数: 36 天

[LV.5]常住居民I

发表于 2016/12/30 16:47 | 显示全部楼层 |阅读模式 |Google Chrome 45.0.2454.101|Windows 7
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
  设计原则是贯穿设计模式的一条主线,设计模式是一套能被复用的,经反复验证的规则,设计原则更是规则中的规则。知晓设计原则的大概含义对于我们更好地理解设计模式是有裨益的。

  单一职责原则

  单一职责原则是指一个类只负责一个职责

  里氏替换原则

  里氏替换原则的定义是:所有引用基类的地方必须能透明地使用其子类的对象,换句话说就是子类替换掉父类,程序的行为不会改变。当使用继承时,遵循里氏替换原则,类B继承类A时,除添加新的方法完成新增功能外,尽量不要重写父类A中的方法,也尽量不要重载父类A中的方法。

  依赖倒置原则

  依赖导致的原始定义是:高层的模块不依赖于底层模块,抽象不依赖细节,细节依赖抽象。可以理解为面向接口编程。在Java中包含的三层含义:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系;接口和抽象类不依赖实现类;实现类依赖接口或抽象类。

  接口隔离原则

  客户端不应该依赖它不需要的接口,客户端只依赖它需要的接口,意思就是接口需要细化,接口中的方法尽量少。也就是说建立单一接口。

  迪米特原则

  迪米特原则也叫最少知识原则,指一个对象应该对其他对象有最少的了解,对象不关心自己耦合或调用的类的内部结构。

  开闭原则

  开闭原则是指尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码完成变化。

  这几天主要有几件事情要做:一是论文,而是项目,三是博客,朋友有一个未完成的项目,checkout到自己的电脑之后,将项目导入到MyEclipse,将项目中的包加入Java build path时,出现了JRE System Library(unbound),去掉,换成自己的jre,再配置tomcat。

  访问项目出现了空白

  等配置好之后,启动tomcat,没有报错。可以访问localhost:8080出现小猫。但是访问localhost:8080/xxx,整个项目下的页面都是空白,不光是jsp,html也访问不了,就在网上搜索答案“可以访问localhost:8080,访问部署的项目出现空白”,答案也五花八门有说端口被占用,有说tomcat的work目录下没有生成项目文件,还有说防火墙没有关,我按照网上的做了,却依然没有任何效果,只白白浪费时间。

  能访问html,不能访问jsp

  去检查web.xml,突然看到web.xml中配置的filter元素,属性中有一行是将html写成了tml,改了之后,发现自己建的MyHtml.html能访问,虽然jsp页面还是访问不了,但是毕竟项目不全是空白了,这个时候我继续在网上搜索一下“可以访问html,不能访问jsp”,网上又是一大片答案,也硬着头皮跟着那些答案碎片做,没有成功,为什么没有去改filter呢,我还是坚信代码没有错。因为在远程部署的可以正常访问。

  web.xml配置的filter不生效

  后来我把web.xml中配置的filter注释之后,只剩下welcome-file-list这项,能访问自己新建的jsp,但是项目里面的index.jsp由于要访问action所以出现了错误,这是正常的。看来filter这里有些蹊跷。后来我试着调试代码。这次的filter如果错误就不好在网上搜答案了,之前自己没有做过项目实践,只想着能很快地能在网上找到答案,这次只有自己调试,调试发现,这个filte里对页面判断后有三个跳转方法

  对index.jsp和login.jsp等设置的是ignorePages,需要进入(FilterChain)chain.doFilter

  对html、jpg、css等设置的是allowResources

  对其他的页面和资源是没有进行(FilterChain)chain.doFilter的。

  经过debug发现index.jsp始终不能进入chain.doFilter。我就在路径判断之前加了打印路径的语句,发现打印出来的路径都有一个xxx/index.jsp。与过滤的index.jsp路径不符,这时候才想到这个路径的问题,导致一直不能进入,就想着访问的时候能不能不输入index.jsp前面的xxx,于是conf中的server.xml里面host下面加入了

  <Context docBase="C:\Apache\apache-tomcat-7.0.72\webapps\xxx" path="/" reloadable="true"/>

  就是把默认启动的应用设置为自己的项目。输入localhost:8080后,终于进入了自己项目的首页。

  想法

  经过这次教训,我明白了调试代码的重要性,出现问题也不能光想着去网上找答案,网上的答案有些不具备普遍性,就算是普遍存在的问题,也不能照着网上的步骤一步一步做,自己从网上的答案找到启发,然后再在这个方向一点一点去找原因,这样会有趣多了。www.9ask.cn/cz/
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 用百度帐号登录新浪微博账号登陆

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2018/1/23 13:57 , Processed in 0.279281 second(s), 37 queries , Gzip On, Apc On.

Powered by itzmx!

© 2011-2013 sakura

快速回复 返回顶部 返回列表