我的JAVA开发方法论

Posted 八零九〇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的JAVA开发方法论相关的知识,希望对你有一定的参考价值。

1.方法论——思想论

   现在流行的很多java web项目开发中使用的一些project,以及之间协同的机制方法,其实很多都在计算机系统,以及计算机网络中使用泛泛,给人以看山是山,看山不是山,看山还是山的变化感觉!

 或许,刚开始,若干年以前(或者现在的新同学)我们在写一个由java实现的项目时,不知如何下手,乃至于架构师搭建好框架后,要实现某一个功能,又不知如何下手?

 或许,我们听过很多java面向对象开发的一套说辞,乃至其他更多的论。

 我总结的其实是自己这几年来的感悟,不仅限于java,包括其他方面,囊括的一个思考——方法论。

2.重要的两个思想:分层 、分而治之

 分层:比如我们web项目开发中的分层——  ccontroller层—>service层—>dao层 ,TCP/IP的OSI七层模型,或者说四层模型,包括其他各个project在实现上的分层,比如dubbo的9层

 分而治之:大数据处理中非常重要的思想。其实包括大流量处理的分库分表,削峰填谷,分布式微服务,集群等都是分而治之的部分体现。

3.抽象的艺术:抽象—可以说我们的计算机和编程语言发展到现在离不开的一个就是抽象。从简单的晶体管到组合出简单的逻辑门,到与或非,异或组成复杂的 半加器,全加器等加法器,进而延伸出内存的实现,cpu的实现等。

4.面向对象:通常说的有事找对象去做,为什么要有这么个对象,找对象去做呢?

   以前我们用C的时候可能更多的是偏向过程论,在这里要说明的是,面向对象是一种思想,并不是java独有。我们用其他语言也可以实现面向对象的开发。

 如果我们要开发,要做一个东西,那一定要有这么一个轮廓:它里面都有什么,都有哪些组件,最好能有一个简单的UML图,那每个组件都是实现什么功能,每个功能的实现步骤都是怎样的,有这么一个思路的话,那进一步,某个功能需要哪些组件(对象),这些组件(对象)里面都有那些作用(行为),对于每一个project的组件,或者说每个project组件中的功能的组件(对象),组件(对象)里的那些作用(行为),我么可以先去定义它的名称,再去实现它的细节底层,也可以称为由顶至下的开发。

  举个最简单的栗子:

      要写一个实现汽车从停止到跑动的动作,或者说方法,那我们可以这样实现:

                  伪表述:

       public   class Driver{

            public boolean run(Car car){  

            fire(car); //1.点火

            .....     //2.挂档

            .....     //3.握方向盘-踩油门

            .......   //4.监控驾驶 (单开线程)

            return true;//标志跑动成功

            }

          }

       先定义出这些步骤,具体的实现再去做,然后发现前期没有考虑到的,公共之处,进行抽出,或者发现某些问题需要解决,使用各种设计模式进行重构解决,每个project的产生,一般都不会是一蹴而就的,会是一个又一个重构的过程。我们需要去思考这些,然后在实际中养成这种习惯和思想,具备这样的能力,那可能某些问题将不再是问题。

 

以上是关于我的JAVA开发方法论的主要内容,如果未能解决你的问题,请参考以下文章

Java开发热门前沿知识!java静态方法和非静态方法的区别

美团四面学习方法+面试心得!Java开发一年,低学历成功拿到 30KOffer!

我的软件开发方法论1:假设-验证-结果-修正

我的Java开发学习之旅------>Workspace in use or cannot be created, choose a different one.--错误解决的方法

我的Java——类 字段 方法

如何限制开发人员使用反射访问Java中的私有方法和构造函数?