遊戲開發是學習OOP最好的方式 上一篇討論OOP入門技巧,本篇則以遊戲為例使用OOP開發程式,讀者也許會覺得突兀,本系列文章不是在討論【開發中大型系統的必備技巧...
前言 上一篇討論了OOA/OOD,接著我們就來實作OOP,本篇先討論Python的類別(Class),並說明如何達成繼承(Inheritance)、封裝(Enc...
前言 雖然,物件導向程式設計(Object-oriented programming, OOP)已是老生常談,網路上有太多的資源可參考,不過,因為實在太重要了,...
前言 撰寫Python程式很簡單,因為Python的發明人Guido van Rossum希望撰寫Python程式可以像英文寫作一樣自然,不需要作變數型別宣告、...
動畫的基礎 讓我們將繼續完善 playground 元件,這次的目標是實現滑鼠和觸控事件的座標監聽,來實現對 canvas 的操控,並且,搭配 ease out...
轉接器模式 Adapter Pattern 可以讓物件在不同類別或介面中被使用,它可以把物件在不改變它本身類別的情況下,讓它轉換成另一個類別的樣子。轉接器可以分...
單例模式 範例 Website registration 網站註冊 假設今天我們要架設一個網站的註冊系統,我們就會希望系統只有一個合法的註冊中心,所有使用者只能...
Singleton Pattern 單例模式 在特定情況下,我們會希望某一些類別的物件只有一個,通常會用global variable 讓它是靜態變數。(例如設...
抽象工廠模式 Abstract Factory Pattern 跟工廠方法模式一樣,都會把製造方法放在工廠中,跟客戶端分離。 每個工廠會對同一個食材介面...
Ruby 中的 Enumerable 是一個模組,提供了一組用於處理集合物件(例如陣列、雜湊表、範圍等)的方法。這些方法可以對集合進行迭代、篩選、轉換等操作。...
本篇,我們要提到的是程式語言中,非常重要的概念 —— 物件導向。 聽著好像很複雜,其實我們現實生活都充滿了物件導向的概念。淺顯一點地解釋,便是把細小的東西以「物...
Ruby Object Model 是 Ruby 程式語言中用來描述物件、類別和模組之間關係的模型。 Ruby 的物件模型是其核心概念之一,它有助於理解 Rub...
還有兩種方式也可以做出物件prototype: ES6 class Object.create() ES 6 class Syntactic sugar語法...
工廠模式 範例: Pizza Store 上篇我們已經完成工廠跟Pizza的抽象類別,現在來看看子類別要如何實現Pizza(),在這之前要先完成食材的類別(這邊...
今天這個主題主要是因為工作上剛好在處理到 http 的 404 error 和 500 error 的 case,想說不如就趁機將研究的內容記錄下來,釐清 ru...
Factory Method Pattern 先來看一下工廠模式的特性吧~後面沿用上篇的Pizza Store來詳細說明 跟簡單工廠模式一樣,會將創建物件的方...
繼上篇的物件導向程式設計概念,近期在面試上有遇到一個很重要的相關觀念,當時不知道為什麼,現在整理出來分享~ :有聽過 SOLID 嗎?:SOLID 是什麼? S...
物件導向程式設計(Object-oriented programming,OOP) MQL5相較於MQL4最大的更新便是增加了物件導向,而OOP(Object-...
昨天分享了基本的運算符,今天來分享進階的* 運算符(Splat Operator)和** 運算符(Double Splat Operator),筆者也是今天要撰...
在之前都是分享 JavaScript 相關的內容,接著想分享自己學習 Ruby 與 Ruby on Rails 時,了解到的重要知識,都會再接下來的文章中出現唷...
Ruby 支援一套豐富的運算符。大多數運算符實際上是方法的呼叫,運算符是所有算符的總稱,其底下又可以細分為算術運算符、比較運算符、邏輯運算符….等,文章只會紀錄...
今天的主題很老掉牙,你打關鍵字google會有一堆文章出現,至於為什麼還要寫呢,因為我開心你管我,因為在實作時超常碰到,必須要搞清楚才行,也趁此機會再摸得更熟。...
大家對於方法的定義和使用大致理解後,今天想跟大家聊聊ruby內特別的方法,大家有印象我在前兩天的舉例都會在類別內定義一個initialize方法以及attrib...
先來複習一下,昨天,我們提到了類別(class)與實體(instance),Ruby藉由實例化類別形成物件,並透過方法(method)來表現行為或與其他物件互動...
昨天,我們正式讀完 《Practical Object-Oriented Design in Ruby: An Agile Primer》,想必大家一定還是也些...
本章的篇幅比較長,但又不想捨棄任何精彩的部分,謝謝大家陪我讀到這,再努力一下!昨天,我們成功測試鴨子類型程式碼;今天,當然不能放過繼承程式碼囉(笑 測試繼承程式...
今天,要來說明鴨子類型的測試,選擇好測試案例後,我們就可以根據前面兩天的步驟來測試輸入及輸出訊息。 測試鴨子類型 測試角色 以第5章的程式碼為範例,程式碼包含了...
本章的測試都是使用MiniTest來撰寫,目前MiniTest可以在安裝了 Ruby 1.9及以上版本的任何地方執行。 至於筆者在工作上則是使用RSpec搭配C...
談測試之前,我們必須先知道,撰寫可修改的程式碼實踐依賴於三項不同的技能: 必須瞭解物件導向設計了解如何設計良好的對象和類結構是至關重要的。合理的設計可以最小...
組合 Bicycle Bicycle有一個Parts,而Parts則有一個Part物件集合。 Parts是一個扮演Parts角色的類別,它實作spares...