您的位置:首页 > 其它

读书--冒号课堂-0

2017-01-02 21:22 204 查看
一名软件工程师的4个境界:学会--->会学--->会用---->被用
知识之上是思想,思想之上是精神
得行而忘意,无异舍本逐末;得意而忘性,方能游刃有余。

编程范式:是编程的基本风格和编程思想的体现。有哪些编程范式呢:
     第一种、命令式,由若干行动指令组成的有序列表,并且用变量存储数据,用语句执行命令;
     第二种、结构化,主要思想是宏观上提倡‘自顶向下’的设计,外观上采用顺序、选择以及循环的逻辑结构,摈弃或限制got语句,保证程序的结构清晰、易于调试和维护。
     第三种、声明式,分为函数式和逻辑式两种,前者是通过数学表达式的方式计算变换得到,而后者则是通过逻辑证明的方式(已知什么,证明另外一个问题)。
OOP:以数据为中心的逻辑组织,将系统视为相互作用的对象集合,并利用继承和多态来增强可维护性、可扩展性和可重用性,它以对象为单位。OOP大多是命令式的,但也有是逻辑式或是声明式的。
过程式编程以过程为中心,自顶向下,逐步求精,以函数为单位;而对象式编程以数据为中心,自底向上,逐步合并。
并发式:以进程为导向,以任务为中心,以资源共享与竞争为主线。有助于提高运行效率、充分利用资源、提高软件的响应能力、改善用户体验、保证公平竞争,同时以进程为单位将系统模块化,更加真实模拟现实世界。
泛化:将算法与其作用的数据结构分离,并将后者尽可能泛化,最大限度的实现算法重用,是基于模块的参数多态,相比于OOP基于继承的子类多态,更普适性,效率更高。C中的(void *)。它是算法导向的,以算法为起点和中心点,逐渐将其所涉及的概念如数据结构、类内涵模糊化、外延化,将其涉及的运算(函数、方法、接口)抽象化、一般化,从而扩展算法的适用范围。STL:算法、容器和迭代器。算法是一些列切实有效的步骤;容器是数据的集合,可理解为抽象的数组;迭代器是算法和容器的接口,理解为抽象的指针或是游标。



元编程:程序的程序,编写、操纵程序的程序。例如YACC能为解析器产生C程序,LEX是一种生成扫描器的工具,识别文本中词汇模式的程序,多用于Unix下。另外还有ANTLR,基于Java的开发。
事件驱动模式:回调函数的概念,Callback指能作为参数传递的函数或是代码,允许底层模块调用高层模块,使调用者与被调者从代码上解耦。异步callback在传入后并不理解被调用,使调用者与被调者从时间上解耦。

控制反转IOC,一般通过callback实现,





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息