設計模式,牛逼

大家好呀,想死你們了。

時不時就有讀者私信我,“松哥,我的代碼寫得很爛,該怎麼辦呀?”

寫代碼確實是門手藝活,這是我們程序員不得不承認的一個事實,畢竟要用手指頭來敲啊!不是手藝活是啥(笑)

簡單來分析一下代碼寫得爛的原因哈。其一,可能是剛入門,代碼寫得少,如果我們滿打滿算只寫過一兩千行代碼,是不可能寫出多優雅的代碼的。其二,可能我們不懂設計模式,設計模式是軟件設計中常見問題的典型解決方案,它們就像能根據需求進行調整的預製藍圖, 可用於解決代碼中反覆出現的設計問題,如果不懂設計模式的話,遇到這些問題就只能抓瞎了。

這麼說吧,設計模式玩得爐火純青,寫出的代碼就更優雅,閱讀起來也會更加舒服,可維護性、可擴展性就更強

說到這,我確信大家已經瞭解設計模式的重要性了!那該怎麼學好呢?

哥來推薦一個學習網站:Refactoring Guru。

網址如下所示:

https://refactoring.guru

這雖然是一個國外的網站,卻神奇的實現了中文化國際化,愛了愛了,無情地愛了。據作者說,他建站的初衷就是爲了幫助我們程序員,快速地掌握設計模式,但把網站做到這種用心的程度,我只能情不自禁地點讚了!

來看一下設計模式的目錄吧(下圖中只展現了創建型模式和結構型模式中的一部分,還有行爲模式):

每個模式都會對應一篇圖文並茂的文章,閱讀起來就好像在讀繪本一樣,生動有趣,令人印象深刻,學起來就沒有半點枯燥的感覺。來看一下工廠方法模式的一部分內容截圖,這圖片的質量,確實高啊,不服不行!

配套的代碼示例也非常完整,來看一下 Java 版的:

public class WindowsButton implements Button {
    JPanel panel = new JPanel();
    JFrame frame = new JFrame();
    JButton button;

    public void render() {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JLabel label = new JLabel("Hello World!");
        label.setOpaque(true);
        label.setBackground(new Color(235233126));
        label.setFont(new Font("Dialog", Font.BOLD, 44));
        label.setHorizontalAlignment(SwingConstants.CENTER);
        panel.setLayout(new FlowLayout(FlowLayout.CENTER));
        frame.getContentPane().add(panel);
        panel.add(label);
        onClick();
        panel.add(button);

        frame.setSize(320200);
        frame.setVisible(true);
        onClick();
    }

    public void onClick() {
        button = new JButton("Exit");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                frame.setVisible(false);
                System.exit(0);
            }
        });
    }
}

當然了,代碼示例不只有 Java 版的,還有 C#、C++、Python、Go 等 8 種常見的編程語言。

這種圖文並茂 + 代碼示例的學習方式,極大地加深了我們程序員對知識的吸收。還有什麼讚美的詞語?學富五車的我竟然有點詞窮了。總之,如果大家也想學好設計模式,趕快點吧!

平臺上還提供了離線版 PDF 的購買入口。如果大家需要一份免費開源的,我就只能把我珍藏了 3 個月的《重學設計模式》貢獻出來了,截取一部分內容供大家預覽下。

裏面有不少圖文參照了 Refactoring Guru 這個網站,但也加入了作者自己的思考和理解,讀起來也更接地氣一點。按照作者說的:

很高興你能拿到這本書,如果你能堅持看完並按照書中的例⼦進行實踐,那麼在編程開發的世界里,就⼜多了了⼀個可以寫出良好代碼的⼈,同時也爲架構師培養儲備了了⼀個⼈才。

如果大家對這份 PDF 感興趣的話,可以通過下面的方式獲取。

第一步,掃碼或者長按識別下面的二維碼,關注「沉默王二」公衆號:

第二步,在公衆號後臺發送 010 獲取下載鏈接。

最後,求個贊吧!再冷的天,也抵擋不住我們學習的熱情

本文分享自微信公衆號 - 江南一點雨(a_javaboy)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章