7

私は楽しみのために Java でゲームを作成しており、GUI 用にクラスを編成する方法を決定しようとしています。これまでのところ、swing コンポーネントとレイアウトのみ (ロジックなし) のすべてのクラスは、「ui」というパッケージに含まれています。ここで、コンポーネント (つまりボタン) にリスナー (つまり ActionListener) を追加する必要があります。リスナーは Game クラスと通信する必要があります。

現在私は持っています: Game.java - フレームを作成し、それにパネルを追加します

import javax.swing.*;
import ui.*;

public class Game {

    private JFrame frame;
    Main main;

    Rules rules;

    Game() {
        rules = new Rules();

        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        main = new Main();
        frame.setContentPane(main.getContentPane());
        show();
    }

    void show() {
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) { new Game(); }

}

Rules.java - ゲームロジック

ui パッケージ - すべてのクラスは、メイン フレームのコンテンツ ペインと交換される新しいパネルを作成します。 Main.java (メイン メニュー) - コンポーネントを含むパネルを作成します。

Main クラスの機能をどこに配置すればよいですか? ゲームクラスで?クラス分け?それとも組織全体が間違っているのでしょうか?

ありがとう

4

1 に答える 1

4

まず第一に、あなたがしたことは善意です。コードを整理しておくことは、間違いなくプログラミングに役立ちます。ただし、心に留めておいてください。優れたコードを開発することは、ソース コードを整理して分類するだけではありません。たとえば... UML モデルを使用していますか? デザインパターンを適用していますか?クラスの結束力は本当に高いですか?カップリングはどうですか?

これらすべてが、適切なコードを作成するためのプロセスをガイドしてくれます。その結果、コードが整理され、管理が容易になります。

于 2010-05-09T06:41:01.427 に答える