大数据培训之旅——Java-9(设计模式、Java Web)

    java终于要完事了,最后一篇Java的文章,设计模式和Java Web,当然因为我们不是纯Java开发,所以这俩了解了解就可以了。这篇应该是文字最多的了。Java之后应该就是Oracle数据库了。如果励志成为DBA的话,就得好好看看Oracle了。

    设计模式这东西不属于任何一种编程语言,是人为的一种规定,来让我们更好地写程序。设计模式的目的就是解耦,就是降低耦合度。写一堆重复的代码是相当恶心的,耦合度是指类和类之间,模块和模块的之间的关联关系,这东西过高的话会导致程序执行效果唯一,拓展性不好,为了让代码可以被重复使用,我们就需要解耦,这篇文章会介绍下最基础的设计模式。

    来看看第一种:单例模式,也叫单子模式,单态模式,围绕这一个点来完成程序,就是做到通过某一个类,得到这个类全局唯一的对象。比如我们那些只能开一个的软件,当开两个的时候就会提示已经有一个运行。对于高级开发来说设计模式就需要去弄懂,因为这样可以降低成本,比如开发一套软件,给了20W的资金,一个程序员每月工资4000元,这个项目需要10个程序员,需要花3个月开发完成,光工资就需要发12W,再加上房租,水电,税收,估计一个项目也也就能赚5W,三个月就赚了5W,对于公司来说基本上就是低收入水平了。那么如何降低成本,当然房租,水电,税收等一些必要开支是不可能减少的了,所以就必须从研发周期上找解决问题的方法,如果减少了一个月开发周期成本就直接降了4W元,大佬们赚得多应该就是帮助公司缩短了研发周期,帮公司省下了成本,喂饱一个人当然比喂饱九个人简单。如果一个模块能够重复使用那么肯定会降低研发周期,那么就得降低耦合度。很多的项目的流程都差不多,比如购物系统:第一步:登录;第二步:挑选商品;第三步:加入购物车;第四步:结账。当然他们并不完全一样,因为每个公司设定的细节都不一样,就那登录来说,验证码就不一样,有文字,有计算题,有图片,等等。所以我们只要有一个流程化的代码,我们只需要把新的细节的代码植入进去,这样就完成了一个新项目,设计模式就可以帮我们完成流程化代码。设计模式中有个开闭原则,在规定流程的基础上,允许移植功能,但尽量不要修改流程,流程是闭的,实现是开的。

    常用的23中设计模式中最简单的一种就是单例模式。

——————————————————————————————————————————————————————

 

    我们之前说过实例化对象就是调用构造方法,如果我们把构造方法设置成私有的呢?

——————————————————————————————————————————————————————

    那么我们该如何搞到这个类的对象呢?

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

    其实单例模式就可以防止不停的实例化对象,回收不及时,内存泄漏的情况。当然也不是所有情况都适用,比如我们希望系统可以多用户登录,分别需要使用多个对象存放账号和密码,总不能把它们都存放在一起吧。所以单例模式可以节省内存空间,但是容易引发数据共享的问题。

    来看看另外一个较为简单的设计模式,简单工厂模式。这东西说白了就是类似工厂生产产品一样,模板都是一样的,只是我们加上去的零件不同。

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

    搞定之后我们只需要修改传进去的字符串就可以输出,飞机在飞或者汽车在跑了,代码越改越简单,当然这种简单工厂模式的好处显而易见,但是坏处也有很多,在这个例子中只要添加进一种交通工具就需要在fectory中的create方法中加一个判断,简单工厂模式是解决不了这个问题的,所以有了,工厂模式和抽象工厂模式。设计模式就简单介绍这两个了,下面来说下Java Web项目,大家还记得之前我们在Linux上完成的论坛么?java web项目就类似于那个。

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

    这就是java web项目了,我们来说说这东西的工作方式,首先我们需要前台页面,后台的数据处理代码,数据库,当前台页面获取到数据之后向后台传输,后台去使用jdbc从数据库内返回结果,之后再把返回结果返回给前台页面,大概就是这么个流程了。当然java web还有好多框架,这些框架类似于我们今天说的设计模式,只不过这些模式并不是适用于所有语言,有这些框架可以大幅增加我们的开发速度,但是我不会……学校倒也讲过,不过据说是上两代爷爷辈的框架了,被淘汰了好多年了……所以我的毕业设计超级累人,什么框架都没用,直接一溜烟就下来了,这里把源码给基础不好的同学看一下,大佬就不用看了,实在是太low了。链接: https://pan.baidu.com/s/1s0Y45djYA5QyK1h-eBrPNg 密码: erjc 如果有问题的话直接留言就好,当然也欢迎大佬指点批评,如果要论文和其他的话,估计只能给论文精简出来的设计思路了,毕竟倒爷太多了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值