随笔分类 -  编程思想

摘要:面向接口编程即面向头文件编程。 头文件代表着模块或类的签名; 头文件是签名的集合,本身也是签名; 签名即抽象。 头文件即是接口、即是抽象。 阅读全文
posted @ 2018-11-08 19:07 zzfx 阅读(158) 评论(0) 推荐(0) 编辑
摘要:是类型与算法是否为可变的问题,及相互结合的问题。 类型的变化方式; 算法的变化方式; 数据+算法、数据+数据、算法+算法的结合问题。 编程语言的核心问题是: 数据与算法的结合; 数据扩展与修改;同一算法接口对类属数据的处理。 算法与算法的结合; 三个问题。 数据与算法的结合; 数据的类属化; 同一签 阅读全文
posted @ 2018-11-01 11:03 zzfx 阅读(259) 评论(0) 推荐(0) 编辑
摘要:软件的内核和灵魂是软件提供的服务,是软件实现的业务。 软件本身只是这个内核和灵魂的外壳。 软件是信息服务产品;软件开发的最初动力是原始股票市场的信息版,大学校园的信息版,通信,计算。 软件的基础材料有操作系统和编程语言提供,使用计算机硬件的能力; 相对于硬件,软件的开发具盒修改具有灵活性,和在画板上 阅读全文
posted @ 2018-11-01 10:45 zzfx 阅读(466) 评论(0) 推荐(0) 编辑
摘要:面向过程编程的致命缺陷是算法与算法的结合方式过于单一, 是数据与算法的结合方式不支持扩展和修改,硬编码; 面向对象和函数式编程都是对这一缺陷的改进。 结合方式过于单一,并且存在硬绑定问题。 阅读全文
posted @ 2018-10-31 17:25 zzfx 阅读(273) 评论(0) 推荐(0) 编辑
摘要:面向对象的本质是算法的上下文封装。 是数据与算法的结合方式。 相对于面向结构编程,解决了同一类属的组织问题。 相对于面向结构编程,优化了数据与算法的结合方式。 阅读全文
posted @ 2018-10-31 17:20 zzfx 阅读(204) 评论(0) 推荐(0) 编辑
摘要:三、 计算世界里的抽象 计算机世界里的抽象无处不在。 技术是问题的解决方案和手段的机制抽象; 每一类技术都建立了一套抽象,针对所面临的问题提出一种一致的机制,然后遵从该机制来实现这一类问题的求解; 开发框架是对不可变的过程抽象,将可变部分留给应用开发者根据具体问题域来定义和实现; 编程语言是对硬件执 阅读全文
posted @ 2018-10-30 12:16 zzfx 阅读(298) 评论(0) 推荐(0) 编辑
摘要:命令式编程强调的是时序; 声明式编程强调的是逻辑; 函数式编程强调的是逻辑。 阅读全文
posted @ 2018-03-29 10:47 zzfx 阅读(340) 评论(0) 推荐(0) 编辑
摘要:In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change. programming around 阅读全文
posted @ 2018-03-20 22:45 zzfx 阅读(169) 评论(0) 推荐(0) 编辑
摘要:事件驱动的一般步骤: 1、确定响应事件的元素 2、为指定元素确定需要响应的事件类型 3、为指定元素的指定事件编写相应的事件处理程序 4、将事件处理程序绑定到指定元素的指定事件 对于事件驱动模式,对象包括事件类型、事件对象、事件分发器、事件处理器,每种事件都有对应的事件处理器编写于处理函数中, 事件分 阅读全文
posted @ 2018-02-09 19:02 zzfx 阅读(2133) 评论(0) 推荐(0) 编辑
摘要:Signal programming is used in the same sense as dataflow programming, and is similar to event-driven programming. The signal flow of a program or a si 阅读全文
posted @ 2018-02-09 18:34 zzfx 阅读(189) 评论(0) 推荐(0) 编辑
摘要:相当于数据驱动。 要点: 1)基于状态(变化);vs 基于用户事件;(主动与被动)。 2)订阅发布机制; 3)关联状态的一致性需要优先保障。 RxJava Observable类源自于Gang of Four的观察者模式。但有高于观察者模式: 生产者在没有数据产生时发出通知:onComplete() 阅读全文
posted @ 2018-02-08 18:37 zzfx 阅读(141) 评论(0) 推荐(0) 编辑
摘要:将数据结构和操作数据结构的算法进行了绑定。 阅读全文
posted @ 2018-01-19 20:39 zzfx 阅读(120) 评论(0) 推荐(0) 编辑
摘要:本质:将成员函数与对象数据进行剥离。 从编程语言的角度看,面向对象是将数据和对数据的操作进行了绑定; 调用对象成员函数,本质是对对象的数据进行操作;对象作为缺省参数传进成员函数,从而完成操作。 从面向对象转化成面向结构编程,需要对成员函数和对象数据进行解绑; 将对象以显式参量的形式传进转换后的函数, 阅读全文
posted @ 2018-01-19 15:40 zzfx 阅读(563) 评论(0) 推荐(0) 编辑
摘要:In computer programming, event-driven programming is a programming paradigm in which the flow of the program is determined by events such as user acti 阅读全文
posted @ 2018-01-18 23:47 zzfx 阅读(356) 评论(0) 推荐(0) 编辑
摘要:绑定:建立联系; 分发:作出选择。 https://en.wikipedia.org/wiki/Dynamic_dispatch https://en.wikipedia.org/wiki/Late_binding Dynamic dispatch is different from late bi 阅读全文
posted @ 2018-01-17 21:43 zzfx 阅读(176) 评论(0) 推荐(0) 编辑
摘要:对象指针本身也是接口中的一个参量。 然而,在更广阔的计算机领域中,多态这个词并不只是局限在类继承和虚函数上。只要是同名函数能够根据参数的类型不同而获得不同的实现,我们都可以叫它“多态”。 多态可以分成三类,Ad hoc 多态(Ad hoc ~),参数化多态(Parametric ~),子类型多态(S 阅读全文
posted @ 2018-01-17 16:53 zzfx 阅读(186) 评论(0) 推荐(1) 编辑
摘要:所谓的多态是将类似的不同实现统一到一个(组)接口的能力; 涉及到两个方面:1)抽象能力;2)面向接口(忽略载体、对象)。 Polymorphism is the ability of the programmer to write methods of the same name that do d 阅读全文
posted @ 2018-01-17 16:50 zzfx 阅读(172) 评论(0) 推荐(0) 编辑
摘要:范式:编程模式,将数据和算法封装到一起; 思想:系统论和世界观:系统是一系列相互关联的对象组成的。 阅读全文
posted @ 2018-01-15 20:08 zzfx 阅读(145) 评论(0) 推荐(0) 编辑
摘要:应对复杂性的能力不同。 我们知道现在存在着两种不同的编程方式-1) 面向过程编程(POP)以及2)面向对象编程。我们可以任意选择一种方式来编写程序,但是我们得知道这两种编程方式的区别。这两种编程方式是软件开发历经几十年发展的结果。从计算机被发明起,人们尝试了很多方法来编写程序,例如a)自顶向下编程; 阅读全文
posted @ 2018-01-12 20:05 zzfx 阅读(516) 评论(0) 推荐(0) 编辑
摘要:Different approaches to programming have developed over time, being identified as such either at the time or retrospectively. An early approach consci 阅读全文
posted @ 2018-01-12 14:51 zzfx 阅读(283) 评论(0) 推荐(0) 编辑