会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
刀法如飞-专注算法与设计模式
不断学习,提升自我 https://github.com/microwind
博客园
首页
新随笔
联系
管理
订阅
[置顶]
【Design Pattern 23种经典设计模式源码大全】C/Java/Go/JS/Python/TS等不同语言实现
摘要:
经典设计模式源码详解,用不同语言来实现,包括Java/JS/Python/TypeScript/Go等。结合实际场景,充分注释说明,每一行代码都经过检验,确保可靠。 设计模式是一个程序员进阶高级的必然选择,不懂设计模式,就像写文章不懂得层次,盖房子没有结构。只有充分懂得设计之道,才能真正设计出良好的软件和系统来。
阅读全文
posted @ 2023-04-03 18:10 刀法如飞
阅读(433)
评论(0)
推荐(2)
2025年3月30日
Go后端架构探索: MVC 与 DDD 分层架构有何不同?
摘要: Go语言 MVC 与 DDD 分层架构详细对比 MVC和DDD是后台开发两种流行的分层架构思想,MVC(Model-View-Controller)是一种设计模式,主要用于分离用户界面、业务逻辑和数据模型,便于分层解耦,而DDD(领域驱动设计)则是一种架构方法论,旨在通过构建业务领域模型来解决复杂系
阅读全文
posted @ 2025-03-30 20:58 刀法如飞
阅读(399)
评论(1)
推荐(1)
2025年3月28日
MVC、MVP、MVVM与DDD架构设计比较,不同语言源码实现
摘要: 模型-视图-控制器(Model-View-Controller,简称 MVC)是一种经典软件架构设计,通过分层解耦,使得系统结构清晰和易于维护,具有良好的可扩展性。MVC 适用于需要清晰分离用户界面、业务逻辑和数据管理的应用场景。随着MVC的发展,还衍生出了MVP、MVVM以及领域驱动设计(DDD)等架构,这些都是为了让庞大的系统变得简单,易于人们理解。
阅读全文
posted @ 2025-03-28 17:39 刀法如飞
阅读(205)
评论(0)
推荐(1)
2025年3月27日
一文搞清楚什么是JavaScript prototype原型链
摘要: JavaScript prototype 详解 JavaScript 中,prototype(原型) 是面向对象编程的核心概念之一。它通过 原型链(Prototype Chain) 实现继承,使对象可以共享其他对象的属性和方法。理解原型机制是掌握 JavaScript 面向对象编程的关键。 什么是
阅读全文
posted @ 2025-03-27 10:32 刀法如飞
阅读(100)
评论(0)
推荐(1)
2023年7月21日
Java实现数组去重复的18种写法
摘要: 说明 数组(含List)去重复在日常工作中经常遇到,很多时候用到Set数据结构,但有时候我们需要针对数据进行干预,这时候就需要用其他的实现方式了。以下列出各种的去重方式,基本含括了所有情况。 源码下载 https://github.com/microwind/algorithms/blob/main
阅读全文
posted @ 2023-07-21 13:51 刀法如飞
阅读(4236)
评论(0)
推荐(0)
2023年7月6日
JavaScript实现合并排序算法详解
摘要: JavaScript实现归并排序算法详解 说明 归并排序(Merge Sort)算法,也叫合并排序,是创建在归并操作上的一种有效的排序算法。算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单,速度仅次于快速排序,为稳定排序算法,
阅读全文
posted @ 2023-07-06 13:59 刀法如飞
阅读(472)
评论(0)
推荐(0)
2023年5月4日
【访问者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
摘要: 简介 访问者模式(Visitor Pattern)是一种行为型模式。它封装一个访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。在不改变原有元素类数据结构的前提下,改变了元素类的执行算法。 当某些较为稳定的东西(数据结构或算法),不想直接被改变但又想扩展功能,这时候适合用访问者模式
阅读全文
posted @ 2023-05-04 11:04 刀法如飞
阅读(86)
评论(0)
推荐(0)
2023年4月29日
【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
摘要: 简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不
阅读全文
posted @ 2023-04-29 21:50 刀法如飞
阅读(104)
评论(0)
推荐(0)
2023年4月28日
【策略设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
摘要: 简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时
阅读全文
posted @ 2023-04-28 09:18 刀法如飞
阅读(97)
评论(0)
推荐(0)
2023年4月27日
【单例设计模式原理详解】Java/JS/Go/Python/TS不同语言实现
摘要: 简介 单例模式(Singleton Pattern)属于创建型设计模式,这种模式只创建一个单一的类,保证一个类只有一个实例,并提供一个访问该实例的全局节点。 当您想控制实例数目,节省系统资源,并不想混用的时候,可以使用单例模式。单例有很多种实现方式,主要分为懒汉和饿汉模式,同时要通过加锁来避免线程安
阅读全文
posted @ 2023-04-27 09:12 刀法如飞
阅读(118)
评论(0)
推荐(0)
2023年4月25日
【代理设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
摘要: 简介 代理模式(Proxy Pattern)是一种结构型设计模式,用一个类来代理另一个类或几个类的功能。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 延迟初始化(虚拟代理)。如果你有一个偶尔使用的重量级服务对象,一直保持该对象运行会消耗系统资源时,可使用代理模式。 访问控制(
阅读全文
posted @ 2023-04-25 09:27 刀法如飞
阅读(72)
评论(0)
推荐(0)
下一页
公告