获得徽章 0
- 我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《2020-11-24》, 一起来围观吧
blog.csdn.net
坦克大战网络版开始跟着网上教程做时,今天出现了一个错误:如下
java.net.ConnectException: Connection timed out: connect展开评论1 - 今天看了head first设计模式,其实从学Java基础开始就挺喜欢head first系列,而言很多前辈也都推荐过这两本,大家有空也可以看看 今天晚上抽空看了设计模式的第一章,讲了一个策略者模式,感觉自己有以下体会。
其实不一定非要把设计模式的名字或者概念记下来,烂熟于心。我个人觉得只要达到,比如说,之前接触过单件模式,只要在以后写代码时,能反映出来**把构造器的权限修饰符改成private,私有的;另外定义一个getinstance方法以供调用,用于去代替原来的实例化过程,俺觉得刚开始学,这样理解会更好入门一点吧。**回到策略者模式,其实我最大的感觉就是他像咱们之前建Java项目分包以及网络中会分好多层的道理一样,有的时候找些中介或者说代理商或者说中间层会更有效好多。网络中的七层模型或者说五层模型以及Java分包就不细说了,这块仁者见仁智者见智吧。在这本书中,首先提到了一个鸭子类,然后当咱们有新需求时,比如说加一个红头木鸭子,绿头会飞的铁鸭子等等,那么咱们应该怎样组织思路呢?
估计会想到共性这词吧,进而会想到将共性放到一个类中,将它用作超类或者说父类,然后很多类去继承他。但是这个时候问题就来了,当后期在父类中进行改动添加删除时,给父类添加一个潜水方法或者嘎嘎叫方法,许多子类中的一个,比如A吧,不想要的功能或者说原来从父类得到得功能被你无情改动而破坏了,红头木鸭子会潜水或者说铁鸭子会叫?继承out……
然后引出几个设计原则,就不抄了,我个人觉得此时最印象深刻的就是:把会变化的部分单独拿出来封装为两个接口,比如说fly接口和eat接口(按照一贯思维,到这里是不是应该让鸭类去直接实现这两个接口,重写他里面的方法,进而去添删相应功能了呗……其实不是,这样,原因是,你在实现接口的子类中去写代码,相对于之前写的代码量而言并没有多大量上面的优势呀)。so
主人公……中间商出现,先拿出两个类去实现那两个fly和eat接口,再去让鸭子类和这两个类产生代码之间的联系,这其中的三层关系确实减少了好多后期维护的错误。希望自己能在后期把这种思想用到各个大小项目中。感觉之前自己看第一遍时会对着各个专有名词组成的概念看半天,感觉确实没有有一点点自己的理解有效果一点。大概就是这些,很多缺陷请大家包涵,希望能有一词一句和各位老师产生共鸣。谢谢你的评阅。愿与诸君共勉
展开评论1 - 首先是基础,在eclipse上安装了阿里巴巴规范手册这个小插件后,写代码的时候可以不时的检查一下自己的类、变量、方法等命名规不规范呀,括号,变量等使用规不规范呀等等。当然啦,eclipse中右键会出现source选项,其中有个format,这个也是规范我们的代码格式的一个选项,俺觉得越早注意到程序规范的重要性,对自己的今后发展可能也会好一点。
其次,就是通过这个小项目学习到了,当我们要尽量的减小类之间的耦合性时且同时易于后期扩展改动(对于我这种菜鸟而言),尽量多分层处理(体现在Java程序中就是在src下分多个包,一个包对应一个层),不要把所有程序所有类堆在一起,比如刚开始可能会考虑到从view层,到control层,再到service层,再到dao层,然后dao层中再去处理数据库的相关工作,还有tools层,domain层等等,当然啦,这个大家做的时候不一定非要整齐划一,要各按所需来做。但一般而言,比如javabean一般放在domain,然后比如utils等工具类一般放在tools包中,然后再考虑层之间的相互调用。
但总的来说,对我自己而言,俺觉得其实更要考虑的是针对一个新项目,自己如何分层,分几层,哪些层放哪些类,类之间的相互的成员变量与成员方法等之间的相互调用的关系如何理清,怎样去组织各个类中具体的语句来实现功能。但刚开始估计应了之前一个老师的话,刚开始先多模仿模仿别人的优秀代码,多实践,有些事急不来,是需要时间来沉淀的。
中午刚吃个饭回来先写这些,有什么错误或者您有什么建议的话希望您及时向晚辈提出,非常感谢,愿与诸君共勉。
展开评论1