前言 大家好,我是Bear,目前是名PHP工程師。寫文章的當下,著迷於Clean Code、Design Pattern跟Testing。 最近在研究自己寫co...
本文同步更新於blog 情境:這是公司生產的文字積木 <?php namespace App\Flyweight\Blocks; class...
此文同步於個人Blog 定義 將抽象部分與實現部分分離,使它們都可以獨立的變化。 橋接模式(Bridge Pattern)是用合成關係代替繼承關係,進...
新章 突入!終於進入到期待已久的第二章 Design System 啦! 那在講 Design System 之前想要先提到一個觀念:「前期規劃 > 實作...
今日的課程是由我們課程助教Tyson來主講。 重點針對於前端的架構設計解析。 首先,我們要問怎麼樣才是一個好的程式架構? 很多從junior工程師要進階到s...
2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Read-Write-Lock Patter...
本文同步更新於blog Interface Segregation Principle (ISP) No client should be forced t...
本文同步更新於blog 情境:讓我們利用備忘錄模式,實作一個仿真Git 首先定義Commit <?php namespace App\Me...
今天是這系列第一次碰 Code,要來介紹三種 Color System 在專案中實作的方式,但實現方式絕對不只這三種,這邊只是提供個參考或概念給大家! 這三種...
本文同步更新於blog Simple Factory Pattern 又稱為靜態工廠,傳入不同的參數以取得不同的類別物件。 簡單工廠模式會將類別分為兩類:...
本文同步更新於blog Open-Close Principle (OCP) A software artifact should be open for...
本文同步更新於blog Single Responsibility Principle (SRP) A module should have one, an...
2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 什麼是 Single Threaded Execut...
本文同步更新於blog Prototype Pattern 當創建實例的過程很昂貴或複雜時,透過拷貝這些原型來建立新的實例。 原型模式中會將類別分為兩類:...
本文同步更新於blog Builder Pattern 將複雜對象的構建與其表示分離。 建造者模式會將類別分為三類:分別是指揮者類別 (Director)...
文同步分享於個人blog 定義 The Command Pattern encapsulates a request as an object, the...
2023/04/05 更新: 為了避免本文章散落在不同網站,之後統一由部落格更新,再麻煩從部落格查看~ 在 DAY 1 ~ DAY 12 已經介紹了我認知常...
文同步分享於個人blog 定義 定義一個 Mediator 物件用來封裝一組物件的互動方式。Mediator 藉由避免物件間相互直接的引用,從而降低它...
本文同步分享於個人blog 定義 物件以樹狀結構組合,做為表現出整體-部分的階層關係。 Composite Pattern使得使用者對單個物件和組合物...
摘要這篇文章探討了多代理系統設計中監督者模式的應用和實踐。文章首先回顧了多代理系統的基本概念和協作模式,接著介紹了監督者模式的特性,並以台灣棒球和啦啦隊新聞處...
本文同步更新於blog 情境:三隻小豬想要蓋房子 首先是牆壁,可以選擇不同的建材 <?php namespace App\Prototype...
文同步分享於個人blog 定義 運用共享技術有效地支持大量細粒度的物件。 享元模式是運用共享技術有效地支持大量細粒度的物件。他可以避免大量相似類的開銷...
雖然昨天已經介紹了如何在你的網頁中實作 Color System,但嚴格上來說今天才算是這系列第一篇的實作,畢竟 Color 只涵蓋了 CSS 的部分,並且是...
今天要認識的Design Pattern我覺得比較難,但我會盡量以簡單的方法讓大家了解 Visitor Pattern是如何運作的,現在就來學習一下吧!...
本文同步更新於blog 需求一:客戶想要一個漢堡點餐系統 <?php namespace App\DecoratorPattern\Burger...
本文同步更新於blog 情境:玉皇大帝要舉辦渡河比賽,動物選手各顯神通。 <?php namespace App\BridgePattern\...
本篇同步發布於個人Blog: [PoEAA] Data Source Architectural Pattern - Table Data Gateway 1....
本文同步更新於blog 情境:讓我們試著作一個摩斯電碼機,它會將一般句子轉成摩斯電碼的表示 首先是語境類別 (Context) <?php...
本篇同步發布於個人Blog: [PoEAA] Domain Logic Pattern - Service Layer 1. What is Service L...
本文同步更新於blog Proxy Pattern 為另一個對象提供一個替身或佔位符以控制這個對象的訪問。 代理模式將類別分為兩類:分別是實體類別 (Re...