Javaの質問があり、メソッドを正しく実装する方法がわかりません。私は建築があまり得意ではありません。
Data Managerインターフェースクラス:
public interface DataManager {
public void readData();
public void writeData();
}
データ抽象クラス:
public abstract class Data implements DataManager {
@Override
public void readData() {};
@Override
public void writeData() {};
}
データリーダークラス:
public class DataReader extends Data {
// I want to implement the readData() here
}
データライタークラス:
public class DataWriter extends Data {
// I want to implement the writeData() here
}
readData()とwriteData()を1つのインターフェイスだけで2つの異なるクラスに別々に実装したい場合、それは可能ですか?なぜこうしているのかわかりません。リーダークラスまたはライタークラスにメソッドを追加すると、見た目がすっきりと簡単になるかもしれません。すべてを1つのクラスに実装する必要がありますか?
このライブラリで、managerオブジェクトを使用するユーザーがデータの読み取りと書き込みにアクセスできるようにしたいと思います。しかし、実装に関しては、どうすれば正しく実行できるのかわかりません。
多くの変更を加えた後、私はこのようにそれを行い、それが私の解決策に合うと思います。
Data Managerインターフェースクラス:
public interface DataManager {
public Data readData(); // from database
public void writeData(); // to database
}
DataConnectorクラス:
public class DataConnector implements DataManager {
DataCreate creator = new DataCreate();
@Override
public Data readData() {
return creator.readData();
};
@Override
public void writeData() {
creator.writeData();
};
public Connection getConnection() {...};
public void close() {...};
}
データ作成クラス:
public class DataCreate {
public void readData() {
new DataReader().readData();
}
public void writeData() {
new DataWriter().writeData();
}
}
データリーダークラス:
public class DataReader {
// I want to implement the readData() here
public Data readData(){...};
}
データライタークラス:
public class DataWriter {
// I want to implement the writeData() here
public void writeData(){...};
}
例:
DataManager manager = new DataConnector();
manager.readData();
manager.writeData();
したがって、クライアントは、マネージャーのパブリックインターフェイスのメソッドのみを使用してデータベースの読み取りと書き込みを行います。エドワード・ピーターズは私に作曲について言及しました、そして私はその時それを理解していませんでした。私が今していることが、作曲がすべきことなのかどうかはよくわかりません。クレジットは彼に行くべきだと思います。助けてくれてありがとう。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加