思考方式

前2天笔试一个大公司,20多个人笔试拿了差不多第一(比较难), 但面谈结果很不理想,估计没戏(学历不行,而且谈oracle我没用过,存储过程的时候太急,也没想起来, 谈设计模式他嗤之以鼻) 所以我把我的思维方式贴出来,看有谁能理解,也为后面的朋友提个思路。当然,计算机谈的就是理解,个人有个人的方法,殊途同归,能达到目的就行。

观点:计算机编程应该是面向对象设计思想+设计模式+基于任务的思维模式。

重点:设计模式的思考应该是基于任务的。
设计:面向对象,设计模式方法。
思维:基于任务。

起因:这应该从计算机结构说起,计算机只能顺序处理指令(别谈什么乱序执行),这谁都知道的,那么,这样,我们可以把所有的函数(方法)假想为一个指令,这样,无论是什么设计方式,都应该是以计算机运行方式为思维中心。计算机运行方式是基于算法的,而算法说到底,就是任务(这也就是我不认同banq老师不需要数学那些东西的理由之一,程序员需要逻辑思维~!)

详细:所有的设计模式都是为特定例的任务而设计的(我这样理解的),说到这可能很多人不信,因为最原始的设计模式教材上都没这样说(: 我拿我认为最简单的模式来说,油漆工模式:它是基于单线程任务中多步任务设计的。最熟悉我们大家都熟悉的servlet中的filter 这就是一个标准。 还说一个工厂模式,工厂就是做生产的,当我们需要不同种类对象的时候它就可以发挥作用了。

作用:(简单思考),一jni本地函数携带物品标签号数据调用了一java中的服务方法,service根据步伐先后生成对象,然后调用持久或jdbc把datasource中的资源放入相关对象,然后调用相关的jni方法把对象中数据(价格等)传回去。 假设:如果只有一种标签数据类型我们可以直接使用这标签数据,但如果这标签数据太复杂需要分解,或者需要把这标签在开始就进行分解进行相关对象生成。这时候就可以考虑油漆工模式了,这在以后引入了新的不兼容标签的时候扩展大有好处。

所以:一切应该都是围绕着任务来说,无论是自底向上设计方法,面向对象设计方法,设计模式,这都是帮助程序员理解程序思路的东西。 只有任务需求的时候我们才应该采取他们其中的一中或多种。

对于框架来说:框架可以说都是经典的设计,一切都是理解相关事物的基础上进行的,理解了事物,然后才能谈得上框架的任务思路,有了任务思路,才可以进行精巧的设计。而设计模式让我们可以方便的理解框架的源代码和设计思想。

说了太多太杂了。如果有人认同的话,以后有空了我会把其他一些思考方式帖出来(比较的不好整理(:都是些思考的方式)。


另外请在广东工作的老兄帮介绍下工作(专科学历,有了大半年经验)。
熟悉java编程,j2se的部分组件,面向对象编程技巧,熟悉UML部分图,部分设计模式,对java技术有着比较整体的理解
页面表现:熟悉jsp servlet jstl等技术,
框架:会struts1, ejb , ejb的persistence,另会单独的hibernate持久, spring的ioc部分。
数据库,会使用mysql数据库
联系电话:13724807701

另外自修过本科大部分基础理论知识。

好久没上java类型的论坛了 看见现在概念越来越多,概念有这么重要么?它只是计算机工业界理解的工具而已:为实现概念需要大量技术支撑的。而技术的发展又反过来又促进了概念的形成,只需要理解下就行了吧,javabean套上了容器和加上配置就成了ejb,也就成了网格,但脱离了它仍然是能够存在的