遊戲陪玩系統開發,架構設計的開閉原則是如何實現的?

雲豹科技程式設計師發表於2021-10-28

開閉原則(Open-Closed Principle,OCP)是指遊戲陪玩系統開發實體(如類、模組和函式)應該對擴充套件開放,對修改關閉。所謂的開閉,也正是對擴充套件和修改兩個行為的一個原則。它強調的是用遊戲陪玩系統開發抽象構建框架,用實現擴充套件細節,可以提高遊戲陪玩系統開發的可複用性及可維護性。
開閉原則是物件導向設計中最基礎的設計原則,它指導我們如何建立穩定、靈活的系統。例如遊戲陪玩系統開發版本更新,我們儘可能不修改原始碼,但是可以增加新功能。
開閉原則的核心思想就是面向遊戲陪玩系統開發抽象程式設計,接下來我們來看一段程式碼。首先建立一個介面 ICourse:

public interface ICourse {
    Integer getId();
    String getName();
    Double getPrice();
}

遊戲陪玩系統開發生態有 Java 架構、大資料、人工智慧、前端、軟體測試等,我們來建立一個 Java 架構的類 JavaCourse:

public class JavaCourse implements ICourse{
    private Integer Id;
    private String name;
    private Double price;
    public JavaCourse(Integer id, String name, Double price) {
        this.Id = id;
        this.name = name;
        this.price = price;
    }
    public Integer getId() {
        return this.Id;
    }
    public String getName() {
        return this.name;
    }
    public Double getPrice() {
        return this.price;
    }
}

現在我們要給 Java 架構做活動,如果修改 JavaCourse 中的 getPrice()方法,則存在一定的風險,可能影響遊戲陪玩系統開發其他地方的呼叫結果。我們如何在不修改遊戲陪玩系統開發原有程式碼的前提前下,實現價格優惠這個功能呢?
現在,我們再寫一個處理優惠邏輯的類 JavaDiscountCourse(思考一下為什麼要叫 JavaDiscountCourse,而不叫 DiscountCourse):

public class JavaDiscountCourse extends JavaCourse {
    public JavaDiscountCourse(Integer id, String name, Double price) {
        super(id, name, price);
    }
    public Double getOriginPrice(){
        return super.getPrice();
    }
    public Double getPrice(){
        return super.getPrice() * 0.61;
    }
}

回顧一下,簡單看一下類結構圖,如下圖所示。
在這裡插入圖片描述

以上便是“遊戲陪玩系統開發,架構設計需要遵循的開閉原則”的全部內容,希望對大家有幫助。

本文轉載自網路,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理
原文連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996194/viewspace-2839534/,如需轉載,請註明出處,否則將追究法律責任。

相關文章