如何理解编程思想? 各位大神介绍东西啊 。。做项目 看书 看什么书? 看视频什么的看什么类型的 ?
还有如何在没参加工作的情况下 增加点工作上的见识

解决方案 »

  1.   

    最近思想上遇到瓶颈,去学了几个月的python,很多.NET设计思想方面,顿悟了。真奇怪
      

  2.   

    很难说什么叫做思想,关键是从行动中获得而不是从书本上(网上文章上)获得更多的。举一个例子,假设你们的所有前端winform(或者silverlight)应用程序都需要访问公司的集中的生产(或者测试)服务器来通讯,那么你们的程序中可能有实现了这样一个接口的小程序interface IClientGateWay
    {
        bool isTcpConnected();
        Passport Passport { get; }
        void Send<T,R>(T sendCommand, Action<R> commitCallback, Action timeoutCallback, Action<Exception> errorCallback);
        R Send<T,R>(T sendCommand);
        void UdpSend<T>(T sendCommand);
        event Action<object> Notify;
    }
    这里的业务意义不是很重要,我简单说明一下:
    .一个客户端网关,它在实例化时通过传送给它服务器地址,它会自动连接服务器,并且注册一个会话对象(Passport)。
    . 客户端程序就可以通过网关对象,使用Send方法发送一个命令对象(类型为T),这个方法异步回调返回一个服务器端推送的结果对象(类型为R)。通常客户端首先要发送给服务器一个“用户登录”命令。
    . 这里的第二个Send方法是为那些不熟悉异步编程、也不很在乎效率的开发人员使用的,是调用了第一个Send并且使用阻塞模式来实现的。
    . 运行中,如果服务器端有推送给当前会话的任何消息对象,就会使用事件 Notify 抛出来。
    . 额外地支持一个UdpSend方法,使用Udp方式发送命令对象,没有返回,并且也不保证能到达服务器。这里的业务不重要,关键是这封装了有关通讯的所有东西。这也就是100~200行代码(不包括命令和数据实体的定义类,那些定义都是异常简单的,没有任何执行代码)。这可能找一个人花上3天或者5天的时间写完,然后就放到程序里边了。其它人都可以直接使用它。当然写这个实现代码时要借助好几个测试用例,并且这个代码被大多数业务操作程序都要调用,所以大多数其它的测试全都会反反复复地调用这个代码的各个部分,也就是会间接地测试它。
    上面说了这么多,其实那些都是雕虫小技,这里才是所谓的“思想”:
    1. 你的代码应该首先从简单设计出发,但是被其它许多代码所依赖,而不是相反。那些看似繁复的代码、时髦的代码,往往只是“终端界面”,你可以华一点钱、让多份终端程序(或者页面)自己去“掐架”而去淘汰大部分终端。但是他们所共同依赖的代码则生命力更久一些。
    2. 这类代码本质上不是某个人私有的,所有人都可以修改它。只要在提交修改之前运行过所有的测试都能通过就行,任何人就可以随时修改它。并不是说这类代码就扔在那里没有人去挑它的毛病了,毕竟这类东西都是从简单出发的,但是这类代码经过了所有的(以及不断增加的)测试。所以如果要修改,也要经过所有的测试。就是这么简单,所谓“思想”就是这样炼成的。不是从书本上学来的,不是什么“宝典”或者教条,是平淡无奇的生存哲学,只不过是让一些非常简单而常用的代码如何生存、发展的学问。
      

  3.   

    a,b,c,d...z 26个字母谁都懂,但如何把它们转换成单词,句子乃至表达自己的想法.if,else,for,while,int,main等等初学者或是识字的人都懂是怎么用,拿来干嘛的。但组合起来形成一个功能或成为一款软件则是更高的境界
      

  4.   

    《冒号课堂--编程范式与OOP思想(程序员修炼内功秘籍)》
      

  5.   

    勿在浮砂筑高塔---侯捷《深入浅出MFC》http://blog.sina.com.cn/s/blog_5858ebf40100p5o9.html
      

  6.   

    编程思想无非就是OO的东西,你可以看C#编程思想和java编程思想啊
    视频推荐张龙的,我就是看他的视频学会的
      

  7.   

    你不只需要思想,还需要得到思想的过程,(这也就解释了道理谁都懂,就是不会用的问题,没有过程,始终不理解),另外,我最近在看head first object-oriented analysis && designed ,这书应该讲的就是思想,推荐楼主看下 
      

  8.   

    CSDN就是一个非常不错的论坛,有空看看一些从业多年的老大侠学习学习就可以了,另外计算机方面的还是可以自己实践一些重要的编程方法的,因本人不太喜欢编程只能这样回答你,有些高级程序员,或是一些系统分析师可能可以给你非常正确的指导。
      

  9.   


    主要是这句:
        void Send<T,R>(T sendCommand, Action<R> commitCallback, Action timeoutCallback, Action<Exception> errorCallback);
    看不懂,请问用的是C#的哪些特性?另外接口中的几个成员互相之间是什么关系?