上一页 1 2 3 4 5 6 7 8 9 10 ··· 103 下一页
摘要: 正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现“开-闭”原则的手段 阅读全文
posted @ 2022-05-17 17:15 zzfx 阅读(291) 评论(0) 推荐(0)
摘要: 除了函数(指针)、变量、引用上下文(具有动态作用域和生命周期),闭包最大的贡献在于逻辑内聚 将使用函数指针时分散到各处的关联逻辑放到一起 阅读全文
posted @ 2022-05-17 11:10 zzfx 阅读(39) 评论(0) 推荐(0)
摘要: 编程范式是人类思维方式的投影-代表了程序设计者认为程序应该如何被构建和执行的看法 阅读全文
posted @ 2022-05-16 23:11 zzfx 阅读(40) 评论(0) 推荐(0)
摘要: 抽象的规则是稳定,分解的规则是独立 什么是抽象呢?首先不必澄清什么是抽象,而从什么算抽象说起,稳定的、高层的就代表了抽象。就像一个公司,最好保证了高层的稳定,才能保证全局的发展。在进行系统设计时,稳定的抽象接口和高层逻辑,也代表了整个系统的稳定与柔性。兵熊熊一窝,将良良一窝,软件的构建也正如打仗,良 阅读全文
posted @ 2022-05-16 12:18 zzfx 阅读(90) 评论(0) 推荐(0)
摘要: 面向对象通过构建更大的结构来模拟世界,函数式编程通过构造更大的计算来求解问题 那我认为的编程语言两个功能, 一个是模拟, 一个是计算,真实的物理世界, 或者说具体的业务, 有巨大的复杂性,当你要用编程语言解决问题, 首先语言应该有足够的灵活性去描述问题,然后是计算, 比说你能描述字符串文件, 也能描 阅读全文
posted @ 2022-05-14 23:19 zzfx 阅读(32) 评论(0) 推荐(0)
摘要: 框架是程序信息流的主干道 阅读全文
posted @ 2022-04-29 23:05 zzfx 阅读(32) 评论(0) 推荐(0)
摘要: 对象分为主动对象和被动对象,主动对象内部包含一个线程,可以自动完成动作或改变状态,而一般的被动对象只能通过被其他对象调用才有所作为。在多线程程序中,经常把一个线程封装到主动对象里面。 Active Object 设计模式的本质是解耦合方法的调用 (Method invocation) 与方法的执行 阅读全文
posted @ 2022-04-26 22:16 zzfx 阅读(356) 评论(0) 推荐(0)
摘要: Java 采用的是管程技术,synchronized 关键字及 wait()、notify()、notifyAll() 这三个方法都是管程的组成部分。而管程和信号量是等价的,所谓等价指的是用管程能够实现信号量,也能用信号量实现管程。但是管程利用OOP的封装特性解决了信号量在工程实践上的复杂性问题,因 阅读全文
posted @ 2022-04-26 16:25 zzfx 阅读(1796) 评论(0) 推荐(0)
摘要: 元编程:面向元类型(反射)、元信息(注解)和模版类型的编程 阅读全文
posted @ 2022-04-25 14:55 zzfx 阅读(49) 评论(0) 推荐(0)
摘要: 多态这个概念在c++和java这种强类型语言中比较强调,js,python这种弱类型语言天生支持多态。 意味着强类型语言的多态是和继承结合在一起的,多态的前提是继承。 在js和python这种弱类型语言中,多态是天生的。在Python和js中关注的不是传入对象是否是xx的子类,而是传入的对象是否有这 阅读全文
posted @ 2022-04-24 22:51 zzfx 阅读(88) 评论(0) 推荐(0)
摘要: “关键字”是对 C 编译器具有特殊含义的单词。 阅读全文
posted @ 2022-04-20 13:12 zzfx 阅读(83) 评论(0) 推荐(0)
摘要: 这样重新编译时只需要编译有更改的单元。这样在开发的时候,能降低编译的时间。 软件架构设计的目标就是分解软件系统,降低软件系统的复杂性。如果是一个多人协作的软件,大家都在一个文件里完成任务,那么无疑会大大增加设计难度和协作成本。这也是多文件编译“多编译单元”在软件工程中的巨大优势。 高内聚低耦合是判断 阅读全文
posted @ 2022-04-20 13:06 zzfx 阅读(40) 评论(0) 推荐(0)
摘要: 编译单元,顾名思义,就是一次编译的单位,C/C++语言中编译器都是以被做了include递归展开的cpp文件为编译单位,这也就是最小的编译单位了。 换句话说,你可以让编译器编译一个cpp源文件,而编译器会自动处理它所包含的内容,最终把它所包含的内容以及它自身的内容编译成一个目标文件。 你无法让编译器 阅读全文
posted @ 2022-04-20 12:06 zzfx 阅读(1216) 评论(0) 推荐(1)
摘要: 代理:接口一致、创建混入(替代)、消息转发 阅读全文
posted @ 2022-04-01 15:26 zzfx 阅读(34) 评论(0) 推荐(0)
摘要: 工程是材料清单(包含材料用途),工程师负责将材料组合到一起 阅读全文
posted @ 2022-03-31 14:50 zzfx 阅读(50) 评论(0) 推荐(0)
摘要: 只有理解了部分是怎么组合到整体上的,才能理解元素的真正功能 阅读全文
posted @ 2022-03-22 23:23 zzfx 阅读(17) 评论(0) 推荐(0)
摘要: aop收口要寻找最窄的切面 阅读全文
posted @ 2022-03-22 15:12 zzfx 阅读(14) 评论(0) 推荐(0)
摘要: 前言 苹果提供了 URLProtocol 让开发者可以介入 URL Loading System 做一些定制操作。 注册 protocol 注册 protocol 有两种方式 [NSURLProtocol registerClass:protocol.class] 手动修改 protocolClas 阅读全文
posted @ 2022-03-17 21:20 zzfx 阅读(405) 评论(0) 推荐(0)
摘要: 强类型语言 强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就死该数据类型。 强类型语言包括:Java、.net、Python、C++等语言。其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是类型安全的语言。 强类型 阅读全文
posted @ 2022-03-11 19:31 zzfx 阅读(761) 评论(0) 推荐(0)
摘要: https://blog.csdn.net/blomule/article/details/43058111 在这个非常依赖第三方库完成项目或产品的时代,必须要关注好依赖间的版本是否正确。 背景 AbstractMethodError异常对于我来说还是比较不常遇见的,最近有幸遇到,并侥幸的解决了,在 阅读全文
posted @ 2022-03-09 21:09 zzfx 阅读(1094) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 103 下一页