Back to Basics: Design Patterns0 码力 | 96 页 | 2.10 MB | 1 年前3
Java 应用与开发 - 面向对象编程进阶易复用。 责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式 结构型模式 涉及如何组合类和对象以形成更大的结构,和类有关的结构型模式涉及如何合理使用继承机制,和对象有关的结构型模式涉及如何合理的使用对象组合机制。 适配器模式、组合模式、代理模式、享元模式、外观模式、桥接模式和装饰模式 ## 经典设计模式分类 创建型模式 易复用。 责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式 结构型模式 涉及如何组合类和对象以形成更大的结构,和类有关的结构型模式涉及如何合理使用继承机制,和对象有关的结构型模式涉及如何合理的使用对象组合机制。 适配器模式、组合模式、代理模式、享元模式、外观模式、桥接模式和装饰模式 ## 经典设计模式分类 创建型模式 易复用。 责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式 结构型模式 涉及如何组合类和对象以形成更大的结构,和类有关的结构型模式涉及如何合理使用继承机制,和对象有关的结构型模式涉及如何合理的使用对象组合机制。 适配器模式、组合模式、代理模式、享元模式、外观模式、桥接模式和装饰模式 ` 会得到 32 字节 C++ 的 string 采用了 [ptr, len, capacity] 构型。其中最后的 capacity 当字符串长度小于 15 时,还和局部小字符串缓存共享了空间。 _M_local_buf 是物理让字符串比较小的时候能存储在栈上,如果超过 15 字节再去堆上分配空间。这样能节省 ## vector 内存分布示意图 因此 `sizeof(vector)` 会得到 24 字节 C++ 的 vector 采用了 [ptr, ptr + len, ptr + capacity] 构型。vector 没有采用小字符串优化...这是因为 string 面对的都是 char,wchar_t 这种比较小的类型,且用户常用的字符串往往比较短很容易放进 15 字节的局部栈空间里;然而 vector0 码力 | 162 页 | 40.20 MB | 2 年前3
《Java 应用与开发》课程讲义 - 王晓东易复用。 责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式 结构型模式 涉及如何组合类和对象以形成更大的结构,和类有关的结构型模式涉及如何合理使用继承机制,和对象有关的结构型模式涉及如何合理的使用对象组合机制。 适配器模式、组合模式、代理模式、享元模式、外观模式、桥接模式和装饰模式 Singleton 设计模式也称0 码力 | 330 页 | 6.54 MB | 2 年前3
Kicad 5.1 插件SG3D_VERSION* b'' 的 b''b'' 计 b''b'' 算 b''b'' 结 b''b'' 果 b''b'' 为 b'' b'' "b''Ob''" 便 b''b'' 的 b''b'' 数 b''b'' 据 b''b'' 结 b''b'' 构 b''b'' 来 b''b'' 访 b''b'' 问 景 b''b'' 图 b''b'' 层 b''b'' 次 b''b'' 结 b''b'' 构 b''b'' 中 b''b'' 组 b''b'' 件0 码力 | 45 页 | 612.98 KB | 2 年前3
Zabbix 5.0 Manual用户是证书的所有者权限时显示)。 目前不支持受密码保护的证书。. ::: 用例 配置结 无配置 (不标记// 数据库 TLS 加密 (Database TLS encryption)// ) 连接到数据库而不进行 密。 1. 仅标记 数据库 TLS 加密 (Database TLS encryption) 与数据库的安全 LS 连 接。 12 配置结 1. 标记 数据库 TLS 加密 (Database TLS encryption) encryption) 与数据库的安 2. 指定 TLS 证书颁发机构文件验证数据库服务器证 TLS 连 接; , 并 验 证 它 是 否 是 由 受 信 任 的 中 心 签 发。 13 配置结 1. 标记 数据库 TLS 加密 (Database TLS encryption) 与数据库的安 2. 指定 TLS 证书颁发机构文件 通过配置将证书中指 3. 标 记 验证主机证书 (With host (可选) TLS 连 接; 的 主 机 名 与 其 所 连 接 的 主 机 名 进 行 比 较, 来 验 证 数 据 库 服 务 器 证 书 的 有 效 性; 任 的 机 构 签 发。 14 配置结 1. 标记 数据库 TLS 加密 (Database TLS encryption) 建立到数据库 2. 指定 TLS 秘钥文件 3. 指定 TLS 证书文件 4. 指定 TLS 证书授权文件 5.0 码力 | 2715 页 | 28.60 MB | 2 年前3
KiCad IDF 导出器 5.1b'b' 件 b'b' 名 b'b'(b'b' 必 b'b' 须 b'b' 以 b'* .idf b' 结 b'b' 尾 b'b')b' b' 注 b'b' 意 b'b' :b' * b' 仅 b'b' b'文b'b'件b'b'名b'b'(b'b'必b'b'须b'b'以b'*.idfb'结b'b'尾b'b')b' b'注b'b'意b'b':b' * b' 仅b'b'在b b'b' 文 b'b' 件 b'b', b'b' 必 b'b' 须 b'b' 以 b' _dxf_ b' 结 b'b' 尾 b' b' 单 b'b' 位 b'b': b'b' 毫 b'b' 米 b'b'0 码力 | 14 页 | 562.56 KB | 2 年前3
Hello 算法 1.2.0 繁体中文 C++ 版}; #### 4.2.1 鏈結串列常用操作 ### 1. 初始化键结串列 建立鏈結串列分為兩步,第一步是初始化各個節點物件,第二步是構建節點之間的引用關係。初始化完成後,我們就可以從鏈結串列的頭節點出發,透過引用指向next依次訪問所有節點。 /// = File: linked_list.cpp ==== /* 初始化键结串列 1 -> 3 -> 2 -> 5 -> 68a0bda1c514c61fe70af7cf579/p82_1.jpg) 圖 4-7 鏈結串列刪除節點 /// === File: linked_list.cpp === /* 删除键结串列的節點 n0 之後的首個節點 */ void remove(ListNode *n0) { if (n0->next == nullptr) return; // 走訪鏈結串列,查詢其中值為 target 的節點,輸出該節點在鏈結串列中的索引。此過程也屬於線性查詢。程式碼如下所示: /// === File: linked_list.cpp === /* 在键结串列中查询值为 target 的首個節點 */ int find(ListNode *head, int target) { int index = 0; while (head !=0 码力 | 379 页 | 18.79 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 C# 版在相同資料量下,鏈結串列比陣列佔用更多的記憶體空間。 /* 键结串列節點類別 */ class ListNode(int x) { // 建構子 int val = x; // 節點值 ListNode? next; // 指向下一節點的引用 } #### 4.2.1 鏈結串列常用操作 ### 1. 初始化键结串列 建立鏈結串列分為兩步,第一步是初始化各個節點物件,第二步是 構建節點之間的引用關係。初始化完成後,我們就可以從鏈結串列的頭節點出發,透過引用指向next依次訪問所有節點。 /// == File: linked_list.cs === /* 初始化键结串列 1 -> 3 -> 2 -> 5 -> 4 */ /// 初始化各個節點 ListNode n0 = new(1); ListNode n1 = new(3); ListNode 8bc62fa62c7085bdc5b068fba65c6d/p81_1.jpg) 圖 4-6 鏈結串列插入節點示例 /// == File: linked_list.cs == /* 在键结串列的節點 n0 之後插入節點 P */ void Insert(ListNode n0, ListNode P) { ListNode? n1 = n0.next; P.next =0 码力 | 379 页 | 18.79 MB | 1 年前3
共 139 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14













