我也有时要进行编程,但是总觉得别扭,别扭在哪那?就是自己修改某个功能的时候,感觉心里还是比较踏实,因为有一个明确的目标,但当我去完整的做一个项目的时候,就感觉自己像是在沙漠中努力前行一样,做出来的东西没有任何的规划,不是实现不了,而是感觉很费力,像是逆水行船,还不知道到底能怎样。

      看编程的书,知道每个软件都是经过规划后才做成的,也看了很多范例,感觉人家做的是胸有成竹,那步怎么走都想的很好,但当自己要做的时候,我就又像陷入了泥潭。怎么走也吃力。学习了信息系统项目管理师教程,知道我应该把软件分解,然后按分解的任务去做,一个任务一个任务的去做,这样就好做多了,方向也很明确了。这个方法不错,但总是掌握不了。根本就不知道怎样分解任务。

      前两天看了系统架构师高级培训,学到了不少东西。里边给我最深印象的就是关于架构的理解。

做成什么样就是架构做好了那?这个问题想了很久,终于有所悟,不知道对与不对,但也是自己的一点点认识,如果想做架构,就必须掌握黑盒思想,实际上架构就是黑盒思想的具体实现。如果我们进行详细设计,我们就必须掌握白盒思想,在这两个思想的基础上,我们要提出自己的基础服务概念,也就是我们把那些经常用的功能,收集成基础服务,这样这些基础服务就可以支持白盒思想指导下的详细设计了。到这里我归结成一句话,就是白盒思想和黑盒思想就是在编程中的实际的两种思想。因为我们知道基础服务函数也是按照黑盒思想来设计的。。

想明白了上边的问题,就看是不是在实际应用中有所收获了。我们编程的两个思想,实际上是微观的两个思想。

因为在宏观上,我们还有两个东西就是,关于敏捷方式开发还是瀑布模式开发,实际上,这个问题也是混合出现的,只有在瀑布模式和敏捷模式相互相成的情况下,才能真正做到规避风险的同时提高效率。

在基础服务提供的实际设计中,我们应该考虑的就是维护,健壮,效益,等等内容,让我们在黑盒的思想产生的模块内部,精巧的实现白盒的实现策略和方法,就能让我们的编程更加的稳定和容易维护,这个就是设计模式里边要解决的问题了。

不知道是不是理解的有偏差,欢迎大家指证和交流。我是希望进步的一个人。