刷新
《Head First设计模式》读书笔记 —— 工厂

博主头像 除了new操作符外,还有更多制造对象的方法 “实例化”这个活动不应该总是公开地进行 初始化经常造成“耦合”问题 实例化的问题 当看到“new”就会想到“具体” 使用new时,就是在针对实现编程,而非针对接口编程 代码绑着具体类会导致代码更脆弱 Duck duck = new MallardDuck( ...

《Head First设计模式》读书笔记 —— 装饰者模式

博主头像 《Head First设计模式》读书笔记 相关代码:Vks-Feng/HeadFirstDesignPatternNotes: Head First设计模式读书笔记及相关代码 给爱用继承的人一个全新的设计眼界 本节用例 Starbuzz咖啡因迅速扩展,准备更新订单系统,以合乎其饮料供应需求 原有类设 ...

《Head First设计模式》读书笔记 —— 观察者模式

博主头像 《Head First设计模式》读书笔记 相关代码:Vks-Feng/HeadFirstDesignPatternNotes: Head First设计模式读书笔记及相关代码 让你的对象知悉现状,不会错过对象感兴趣的事 对象甚至在运行时可决定是否要继续被通知 JDK中使用最多的模式之一 本节例子 系 ...

学习设计模式有这两就够了:手册+实战项目

博主头像 历经一年时间,设计模式手册和练手项目已全部编写完成 秘籍1设计模式手册:《掌握设计模式:23种经典模式实践、选择、价值与思想》 秘籍2练手项目:设计模式实战项目--markdown文本编辑器软件开发(已开源) 秘籍1 设计模式手册 该手册将为你回答: 什么是设计模式? 怎么学习设计模式 为什么学 ...

学习设计模式找不到练手的实战项目?项目已开源

博主头像 手写解析器、渲染器、主题样式、自定义弹窗和精细的撤销/恢复机制等。 整体总结 YtyMark-java 项目,从用户输入到用户查看到实时渲染结果的全过程 监听文本区域内容是否发生变化 解析和渲染:“原始文本的块裁剪”→“块级元素解析” → “行内元素解析” → “渲染” 四大阶段 将渲染结果重新 ...

《建筑的永恒之道》第 1 章:永恒之道

博主头像 有一条永恒的建筑之道。它存在了千百年之久,至今依然如故;而且,别无它道可以产生充满活力的建筑或城市。它并非是个可被加到事物之上的外在的方法,相反它是深植于我们之中的一个过程,只需加以释放,使建筑优美的能力已存在于我们每个人之中。 ...

分享个人设计模式笔记文档:《掌握设计模式:23种经典模式实践、选择、价值与思想》

博主头像 本文主要分享我的设计模式笔记PDF文档:《掌握设计模式:23种经典模式实践、选择、价值与思想》 这只是设计模式的秘籍1:《掌握设计模式:23种经典模式实践、选择、价值与思想》 后续还会分享练手项目秘籍2:设计模式实战项目--markdown文本编辑器软件开发(开放所有源代码) 前言 为什么要写这份资 ...

为什么学习设计模式?

博主头像 1. 学习设计模式的意义:让代码更优雅,让开发更从容 设计模式的学习常常被贴上“枯燥”“抽象”的标签,但它更像一本软件开发的“烹饪食谱”——不是要求你死记硬背,而是教会你如何用更巧妙的方式组合代码的“食材”,最终做出一道既美味(功能完善)又美观(易于维护)的“佳肴”。以下是它的核心价值与意义: 1. ...

学了设计模式,却不知道怎么选择?

博主头像 本人主要讲述设计模式怎么去选择,这仅仅是不知从何下手提供一个抓手的东西,并不是银弹。常想、多用,积累经验后,方可灵活运用,做到无模式胜有模式,才可能会在复杂场景中,设计出高质量的系统。 设计模式的选择是一个从问题到解决方案的递进过程。通过明确问题类型、分析目标特性、遵循设计原则以及结合场景需求,可以 ...

[设计模式]行为型-备忘录模式

博主头像 简介 备忘录模式(Memento Pattern)是一种行为型设计模式,它允许生成对象状态的快照并在以后将其还原。备忘录模式不会影响它所处理对象的内部结构,也不会影响快照中存储的数据。简单来说,它就像游戏中的“保存”和“加载”功能。 组成角色: Originator(发起人): 主要用于生成自身状态 ...

设计模式脉络

软件的可扩展性 软件善变,可扩展性成为评价软件生命力的重要指标。 所谓的可扩展性是指软件为了应对将来的业务变化,而提供的扩展能力。当有新的业务发生时,可扩展性较好的软件仅需小范围修改就能提供支持,它们可以保持总体上的稳定。 传统的结构化软件设计方法在这方面力有不及,面向对象方法却有一些天然的优势。 ...

掌握设计模式--解释器模式

博主头像 解释器模式(Interpreter Pattern) 解释器模式(Interpreter Pattern)是一种行为型设计模式,用于定义一种语言的文法表示,并提供一个解释器来解释该语言中的句子。这种模式通常用于开发需要解析、解释和执行特定语言或表达式的应用程序。 主要目的是为特定类型的问题定义一种语 ...

掌握设计模式--状态模式

博主头像 状态模式(State Pattern) 状态模式(State Pattern)是一种行为设计模式,它允许对象在其内部状态改变时改变其行为,看起来像是改变了其类。这种模式通常用于解决对象在运行时状态多变且行为复杂的问题。 核心思想:将状态与行为绑定,每种状态对应一个具体类有独立的行为逻辑,状态的切换只 ...

[设计模式]行为型-命令模式

博主头像 简介 命令模式(Command Pattern)是一种行为型设计模式,它将请求或操作封装为独立的对象,允许用户参数化客户端、队列请求、记录日志,并支持撤销操作。该模式的核心思想是将“请求的发起者”与“请求的执行者”解耦,使两者通过命令对象进行交互。 角色组成: 调用者(Invoker),负责发起请求 ...

掌握设计模式--中介者模式

博主头像 中介者模式(Mediator Pattern) 中介者模式(Mediator Pattern)是一种行为型设计模式,它通过引入一个中介者对象,来减少多个对象之间的直接依赖,使对象之间的通信变得松耦合。对象不直接相互引用,而是通过中介者与其他对象交互。这有助于提高系统的可维护性和扩展性。 核心思想: ...

用一种新的分类方法梳理设计模式的脉络

设计模式是程序员们长期实践经验的总结,被认为是面向对象方法的“刀刃”部分。 1990年代出版的《Design Patterns》收录了23种设计模式,总结了一些有益的设计原则,为这份实践经验的理论化做出了开创性贡献。 我们经常引用《Design Patterns》中的观点将这些设计模式分成创建型、结 ...

掌握设计模式--备忘录模式

博主头像 备忘录模式(Memento Pattern) 备忘录模式(Memento Pattern)是一种行为型设计模式,用于在不暴露对象内部实现细节的情况下,捕获对象的内部状态,并在需要时恢复到先前的状态。该模式通常用于需要撤销和恢复操作的场景。 核心思想:在不破坏对象封装的前提下,捕获并保存对象的内部状态 ...

123···6>