/note_program_design

总结了程序设计中需要用到的工具,以及对设计模式的整理

Primary LanguageHTMLMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License


编辑与模式


探索文档 »

目录
  1. 关于项目
  2. 什么是程序编辑
  3. 什么是设计模式
  4. 技术目录
  5. 贡献
  6. 许可证
  7. 联系方式
  8. 鸣谢

关于项目

整理了程序设计中需要用到的编辑工具资料、笔记与手册

整理了23种常用设计模式以及其不同语言下的模板

公网资料、笔记地址请访问这里

其他相关技术可以访问我的博客,主页地址请访问这里

(回到顶部)

什么是程序编辑

程序编辑指的是使用程序编辑器(文本编辑器或集成开发环境IDE)编写和修改源代码的过程。程序编辑器是软件开发人员用来创建、编辑、管理和查看源代码的工具。它们通常提供多种功能来帮助程序员高效编码,如语法高亮、代码自动完成、错误检测等。

常见的程序编辑器和编辑工具

  • Markdown - 程序以及文档编辑强力语言工具
  • Latex - PDF文档、数学公式展示的强力工具,以及事实上的标准
  • Matlab - 数学公式与算法编辑的工具
  • Tmux - Linux 终端会话与设计的工具,与Shell、Vim结合能发挥强大的功能
  • Vim、Emacs - 轻量级且功能强大的源代码编辑器,其他常用的工具还有 Visual Studio Code, Sublime Text, Atom, Eclipse, IntelliJ IDEA, PyCharm, Xcode等

(回到顶部)

什么是设计模式

设计模式是软件工程中的一套被反复使用、大家公认的、最有效的解决特定问题的方案。设计模式以标准化的方式解决软件设计中经常遇到的问题,从而提高代码的复用性、可维护性和通信的清晰度。

设计模式通常按照面向对象设计原则编写,像是单一职责原则、开闭原则、里氏替换原则等。学习并正确应用设计模式可以帮助开发者创建既灵活又可扩展的软件系统。

设计模式主要分为三种类型

创建型模式

涉及对象实例化,用于帮助创建对象实例。例如:单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype)模式。

结构型模式

涉及到将类或对象组织成更大的结构。例如:适配器(Adapter)、装饰器(Decorator)、代理(Proxy)、外观(Facade)、桥接(Bridge)、组合(Composite)和享元(Flyweight)模式。

行为型模式

特别关注对象之间的通信。例如:策略(Strategy)、观察者(Observer)、命令(Command)、备忘录(Memento)、迭代器(Iterator)、中介者(Mediator)、状态(State)和访问者(Visitor)模式。

(回到顶部)

技术目录

目录与大纲

Markdown

Latex

Matlab

Tmux

Vim

自用配置

配套工具

Emacs

设计模式

(回到顶部)

贡献

贡献是使开源社区成为一个如此令人惊叹的地方,以学习、激励和创造。您所做的任何贡献都将非常感谢。

如果您对使这个项目变得更好有建议,请 fork 该仓库并创建 pull request。您也可以打开一个带有“enhancement”标签的问题。不要忘记给这个项目点个星!再次感谢!

(返回顶部)

许可证

根据 MIT 许可证进行分发。更多信息请参见 LICENSE.txt

(返回顶部)

联系方式

关注我: 小昊子

博客地址: http://note.grft.top

项目链接: https://github.com/worst001/note_program_design

(返回顶部)

鸣谢

因为仓库与文档的数量比较大,有些借鉴资料忘了在参考文档部分提及原作者与原仓库,若有疏漏请告诉,我及时补上。

所有引用的原资料都确认是开源认证,若有侵权请告知。

https://github.com/younghz/Markdown

https://www.note.org/getting-started/

https://github.com/theniceboy/nvim

https://github.com/doomemacs/doomemacs

https://github.com/kamranahmedse/design-patterns-for-humans

https://github.com/JakubVojvoda/design-patterns-cpp

https://github.com/iluwatar/java-design-patterns

https://github.com/nikolovivan/scala-design-patterns

https://github.com/DesignPatternsPHP/DesignPatternsPHP

https://github.com/faif/python-patterns

https://github.com/senghoo/golang-design-pattern

https://github.com/QianMo/Unity-Design-Pattern

https://github.com/fbeline/design-patterns-JS

https://github.com/woshihuo12/LuaDesignPattern

https://openai.com/chatgpt