iT邦幫忙

物件導向相關文章
共有 137 則文章

技術 python 物件導向範例

class musashi: def __init__(self,name): self.__name = name def s...

鐵人賽 Software Development DAY 26

技術 Proxy 代理模式

今天要談到代理模式,其實跟昨天的裝飾器模式很類似。代理模式的目的在於,因應某些條件替換物件原本的行為。 同樣用昨天的例子,這裡有 BookPrinter 可以把...

鐵人賽 Software Development DAY 16

技術 回顧 SOLID 設計原則

在前面的五篇文章當中,我們提到了 SOLID 設計原則,分別為 單一功能原則 Single Responsibility Principle 開放封閉原則 O...

鐵人賽 Software Development DAY 17

技術 Singleton 單例模式

首先,先來看看一個簡單、特殊的創造物件的模式。 In software engineering, the singleton pattern is a sof...

鐵人賽 Python DAY 14

技術 [Day13] 第二週 - 進階工程師的開端 - 物件導向之三大特性

目標 昨天我們介紹介紹了python的Class的建立方法今天我們會詳細介紹,物件導向的特性(用python實作) 1.封裝Encapsulation.2.繼承...

鐵人賽 Software Development DAY 14

技術 里氏替換原則 Liskov Substitution Principle

今天來談談 SOLID 當中的里氏替換原則,同樣的先來看一下例子。 延續先前的例子,公司持續拓展,滿足更多不同使用者的需求。現在公司決定,讓使用者可以在建立實例...

鐵人賽 Software Development DAY 30

技術 Observer 觀察者模式

今天要談到的觀察者模式也是很常見的一個模式,常出現在有兩個以上需要互相溝通的物件之間 問題 假設有個物件 A 想要獲得物件 B 的更新資訊,但實際上 A 不知道...

技術 Python 物件導向編程(Object-Oriented Programming, OOP) : Class

在 Python 中,Class(類別) 是一種用來'封裝數據'和'操作數據方法'的結構。Class 提供了創建自定義數據類型的能力,可以用來模擬實際世界的物件...

鐵人賽 Software Development DAY 22

技術 IT鐵人DAY 22-Mediator 中介者模式

  今天要介紹的模式Mediator,與上一篇Facade的結構有點雷同,不過Mediator是屬於行為型模式,作用不太一樣,現在就來了解Mediator在做甚...

鐵人賽 Software Development DAY 29

技術 Command 命令模式

當一個請求 (request) 進入系統之後,通常我們就會立即的處理它。但如果我們不想這麼直接的去處理這些請求,而是先讓這些需求排隊、依序進入,甚至做一些預先處...

鐵人賽 Software Development DAY 11

技術 IT鐵人DAY 11-Builder 建立者模式

  一看到Builder就知道它是屬於Creational Pattern,那它可以用來解決什麼問題呢?現在就來認識一下Builder這個模式吧! 問題情境與...

鐵人賽 Software Development DAY 13
軟體架構備忘錄 系列 第 13

技術 Day 13 程式架構 - SOLID原則 (知識點067~071)

思考的問題 設計物件導向程式時,有哪些需要注意的重要原則呢? 在物件導向的設計中,有許多經典的設計原則。其中最出名的就是SOLID原則。其中分別為 S: 單一...

鐵人賽 Software Development DAY 14

技術 IT鐵人DAY 14-Decorator 裝飾者模式

  今天要介紹的Decorator Pattern,跟昨天的Composite Pattern都是屬於Structural Pattern,你可能會發現它們的C...

鐵人賽 Software Development DAY 25

技術 IT鐵人DAY 25-Iterator 迭代器模式

  今天要認識的迭代器模式我個人覺得需要多花一點心思,才能夠了解它並善用它,程式當中也算是經常使用的設計模式,現在就一起來認識它吧! 問題情境與解析   假設...

鐵人賽 Software Development DAY 19

技術 IT鐵人DAY 19-Flyweight 享元模式

  一講到Flyweight,它最主要工作就是要減少記憶體的使用量,至於要怎麼做來能達到這樣的效果呢?現在就讓我們藝起來了解吧! 問題情境與解析   大家在使...

鐵人賽 Software Development DAY 28

技術 Chain of Responsibility 責任鏈模式

今天開始進入到 Behavioral design patterns,這一類的模式著重於物件之間的溝通與責任分配,就讓我們接下去一起看看吧 Chain of R...

鐵人賽 Software Development DAY 22

技術 Adaptor 轉接器模式

今天開始要介紹 Structural patterns。先前的 Creational patterns 著重在如何根據不同的問題建立一個新的物件,而 Struc...

鐵人賽 Software Development DAY 16

技術 IT鐵人DAY 16-Strategy 策略模式

  Strategy是屬於Behavioral Patterns的其中一種,我個人覺得這個模式非常好用,今天就帶給大家認識認識! 問題情境與解析   假設有個...

鐵人賽 Software Development DAY 10

技術 IT鐵人DAY 10-Abstract Factory 抽象工廠

  今天要認識的Abstract Factory與Factory Method很像,算是Factory Method強化版,現在就讓我們來了解它們之間的差異吧!...

鐵人賽 Software Development DAY 19

技術 Abstract Factory 抽象工廠模式

延續上一篇文章的例子,我們除了想要訓練出 baseball player 之外,也希望他能夠同時擁有一些裝備,像是合適的棒球衣以及棒球鞋。 所以這裡我們在 Ba...

鐵人賽 Software Development DAY 10

技術 中場回顧

過去一週我們提到了物件導向程式設計的重要概念,像是類別、抽象類別、介面,以及四大特徵:抽象、封裝、繼承、多型。 這裡讓我嘗試用一段話來整理這些內容之間的關係:...

技術 CMoney第八屆菁英軟體工程師戰鬥營_Week 2

安安 過了一週我又來了 首先需要先為自己與同學鼓掌撐過第一週✌️ 第二週開始就是介面地獄每週第一天上課會先有週考憑良心說題目算是簡單但是我粗心了 關於週一作業...

鐵人賽 Software Development DAY 9

技術 物件與資料結構

物件及資料結構 優秀的軟體開發者能理解箇中原因,在不帶有偏頗的情況下,選擇最適合的方法來完成手中的工作。 物件與資料結構兩種模式,各具優點並彼此互補,在這篇...

鐵人賽 Software Development DAY 17

技術 IT鐵人DAY 17-State 狀態模式

  今天介紹的State Pattern與昨天的Strategy Pattern非常的相似,不過它們之間到底有沒有甚麼差別呢?現在就帶你一起來了解! 問題情境...

鐵人賽 Software Development DAY 12

技術 IT鐵人DAY 12-Prototype 原型模式

  前幾天介紹的都是屬於Creational Patter,今天要來介紹最後一個位,也就是Prototype! 問題情境與解析   假設今天有個複雜的物件,你...

鐵人賽 Software Development DAY 15

技術 IT鐵人DAY 15-Bridge 橋接模式

  今天要介紹的Bridge Pattern,當初在學習的時候就覺得這個 Pattern 很有意思,實用性感覺非常高,現在就帶你來認識它吧! 問題情境與解析...

鐵人賽 Python DAY 13

技術 [Day12] 第二週 - 進階工程師的開端 - Class 與物件導向

今日目標 今天的目標很明確其實就是向大家介紹物件導向以及Python Class的介紹 其實很多工程師都互推薦OOP學習C++或是Java因為Python的私有...

鐵人賽 Software Development DAY 23

技術 IT鐵人DAY 23-Command 命令模式

  今天要學習的是Command Pattern,我個人覺得它的實用性蠻高的,也覺得它很好理解,如果有實作過一堆按鈕的表單,就會覺得它非常好用。 問題情境與解...

鐵人賽 Software Development DAY 13

技術 IT鐵人DAY 13-Composite 組合模式

  今天要來介紹Composite Pattern,是屬於Structural Design Pattern的其中之一,現在就來認識一下吧! 問題情境與解析...

鐵人賽 Software Development DAY 20

技術 Builder 建造者模式

如果今天我們想要開一間飲料店,飲料的組合包含了茶、糖,還有牛奶,於是我們可以建立一個 createTea 方法,並依據傳入的參數,來決定最後的產品 class...