
软件开发
文章平均质量分 96
元闰子
这个作者很懒,什么都没留下…
展开
-
【Go实现】实践GoF的23种设计模式:代理模式
代理模式为一个对象提供一种代理以控制对该对象的访问。原创 2022-10-16 18:59:23 · 624 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:迭代器模式
迭代器模式主要用在访问对象集合的场景,能够向客户端隐藏集合的实现细节原创 2022-08-01 22:39:31 · 320 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:装饰者模式
装饰者模式通过组合的方式,提供了能够动态地给对象/模块扩展新功能的能力。理论上,只要没有限制,它可以一直把功能叠加下去,具有很高的灵活性。原创 2022-06-29 07:50:04 · 238 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:原型模式
原型模式(Prototype Pattern)主要解决对象复制的问题,它的核心就是 Clone() 方法,返回原型对象的复制品。原创 2022-06-02 23:03:01 · 255 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:抽象工厂模式
上一篇:【Go实现】实践GoF的23种设计模式:工厂方法模式简单的分布式应用系统(示例代码工程):https://github.com/ruanrunxue/Practice-Design-Pattern–Go-Implementation简述上一篇我们介绍了工厂方法模式,本文,我们继续介绍它的兄弟,抽象工厂模式(Abstract Factory Pattern)。在工厂方法模式中,我们通过一个工厂方法接口来创建产品,而创建哪类产品,由具体的工厂对象来决定。抽象工厂模式和工厂方法模式的功能很类似.原创 2022-05-29 16:17:15 · 192 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:工厂方法模式
工厂方法模式(Factory Method Pattern)将对象创建的逻辑封装起来,为使用者提供一个简单易用的对象创建接口,常用于不指定对象具体类型的情况下创建对象的场景。原创 2022-05-21 16:07:35 · 287 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:建造者模式
在程序设计中,我们会经常遇到一些复杂的对象,针对这种对象成员较多,创建对象逻辑较为繁琐的场景,非常适合使用建造者模式来进行优化。原创 2022-05-06 08:12:22 · 290 阅读 · 0 评论 -
【Go实现】实践GoF的23种设计模式:单例模式
单例模式虽然简单易用,但也是最容易被滥用的设计模式。它并不是“银弹”,在实际使用时,还需根据具体的业务场景谨慎使用。原创 2022-04-05 23:41:21 · 443 阅读 · 0 评论 -
深入解析Java的运行时数据区
前言Java程序运行的过程中,JVM会将其所管理的内存划分成若干个区域,统称为是运行时数据区。其中,一些线程间共享的区域,随着JVM的启动而创建,JVM的退出而销毁;另一些线程私有的区域,则随着线程的开始而创建,线程的结束而销毁。如图所示,运行时数据区由以下几个区域所组成:程序计数器、Java虚拟机栈、本地方法栈、方法区、堆。程序计数器根据JVM的运行模型,程序运行前,JVM会将程序编译后...原创 2020-01-13 00:34:16 · 401 阅读 · 0 评论 -
彻底弄懂Java的移位操作符
前言对于移位操作符,很多人既感到熟悉,又感到陌生。熟悉是因为移位操作符是最基本的操作符之一,几乎每种编程语言都包含这一操作符;陌生是因为除非是追求极致性能等罕见场景,否则也很难用得上它。打开JDK源码,你会发现移位操作符的身影极为常见,弄清楚它的用法,对阅读源码很有帮助。移位操作是把数据看作是二进制数,然后将其向左或向右移动若干位的运算。在Java编程语言中,移位操作符包含三种,分别是 <...原创 2019-12-22 19:08:57 · 509 阅读 · 0 评论 -
一步步降低软件复杂性
前言在进行软件开发时,我们常常会追求软件的高可维护性,高可维护性意味着当有新需求来时,系统易扩展;当出现bug时,开发人员易定位。而当我们说一个系统的可维护性太差时,往往指的是该系统太过复杂,导致给系统增加新功能时容易出现bug,而出现bug之后又难以定位。那么,软件的复杂性又是如何定义的呢?John Ousterhout给出的定义如下:Complexity is anything re...原创 2019-12-08 21:36:43 · 478 阅读 · 0 评论 -
教你写好代码注释
前言相信大家都会遇到这种情况:一周前自己写的代码,现在再拿出来看,发现读不懂了,“ 这代码是我写的???”。这时候,代码注释就可以发挥它的作用了——提高晦涩难懂的代码的可读性;注释可以起到隐藏代码复杂细节的作用,比如接口注释可以帮助开发者在没有阅读代码的情况下快速了解该接口的功能和用法;如果写的好,注释还可以改善系统的设计。既然注释这么多好处,为什么我们程序员还是不愿意写注释?“代码都写不完...原创 2019-12-08 21:35:31 · 13433 阅读 · 4 评论 -
写给Java程序员的TypeScript入门教程(一)
0 前言最近几年,TypeScript越来越多的出现在各种技术分享博客上,越来越多的前端框架也提供了对TypeScript的支持,比如大名鼎鼎的Angular2就选择了TypeScript作为开发语言。如果你没听过TypeScript,那一定听过JavaScript。实际上,TypeScript是JS的一个超集,它可以兼容JS的语法,并可以编译成纯JS。TypeScript是微软开发并开源的一...原创 2019-11-12 00:45:19 · 2909 阅读 · 0 评论 -
写给Java程序员的TypeScript入门教程(二)
本文内容承接本系列的上一篇《写给Java程序员的TypeScript入门教程(一)》。上一篇介绍了本系列教程的背景,并进行了开发环境的搭建。本系列的教学思路是通过项目实战来学习TypeScript,选取了一个简单的云服务结算系统作为实战项目,该系统的主要功能以及代码分层已经在上一篇中介绍过。本文内容主要介绍云服务结算系统的domain层,具体分为领域建模和代码实现两方面,在其中会穿插对TypeSc...原创 2019-11-17 16:22:49 · 608 阅读 · 1 评论