<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Composite on PlumePHP</title><link>https://plumephp.com/tags/composite/</link><description>Recent content in Composite on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sat, 26 Sep 2026 13:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/composite/index.xml" rel="self" type="application/rss+xml"/><item><title>TypeScript 设计模式实践：工厂、策略、观察者、组合模式的类型安全实现</title><link>https://plumephp.com/typescript-design-patterns-practice/</link><pubDate>Sat, 26 Sep 2026 13:00:00 +0800</pubDate><guid>https://plumephp.com/typescript-design-patterns-practice/</guid><description>&lt;p&gt;&lt;strong&gt;设计模式解决的是&amp;quot;变化&amp;quot;的问题：创建方式的变化（工厂）、算法族的变化（策略）、一对多通知的变化（观察者）、树状结构的变化（组合）&lt;/strong&gt;。TypeScript 的独特之处在于，它的类型系统能把经典 GoF 模式里&amp;quot;靠运行时多态&amp;quot;保证的安全，提前到编译期——模式在 TS 里常常比在 Java/C++ 里更简洁、更安全。&lt;/p&gt;</description></item><item><title>Artifacts 与自定义 Action 发布：从上传下载到市场分发</title><link>https://plumephp.com/github-actions-artifacts-custom-actions/</link><pubDate>Sat, 26 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/github-actions-artifacts-custom-actions/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Artifacts 是 workflow 之间传递构建产物的官方通道，自定义 Action 则是把重复逻辑封装成可复用单元的核心手段。本文前半部分深入 &lt;code&gt;actions/upload-artifact&lt;/code&gt; 与 &lt;code&gt;actions/download-artifact&lt;/code&gt; 的 v4 语法、retention 策略与跨 workflow 传递方案；后半部分完整覆盖 JavaScript / Composite / Docker 三类自定义 Action 的开发、&lt;code&gt;action.yml&lt;/code&gt; 元数据规范，以及从本地仓库到 Marketplace 的版本发布流程。&lt;/p&gt;</description></item></channel></rss>