Hallo,
ich arbeite mich seit kurzer Zeit in die objektorientierte Programmierung ein und habe nun ein für mich großes Problem, da
ich nicht weiß wie ich meine Projekte/Klassen richtig strukturieren soll bzw. wann eine Klasse überhaupt angebracht ist.
Da es an einem Beispiel wohl einfacher zu erklären ist, zu meinem Beispiel:
Meine Grundfunktion die Sinusbot-API anzusprechen und die Results auszuwerten steht.
Allerdings werden im Body der HttpRequests Json Objekte versendet und so brauche ich die in der API Dokumentation angegebene Struktur
um Parameter Json-serialisiert mitzuliefern und Json-serialisierte results zu empfangen.
Nehmen wir uns aus der API mal den Punkt General heraus. Hier fängt es bei mir schon an. Überlegt habe ich mir ein solches Schema:
Spoiler anzeigen
Ich habe ein solches Schema gewählt um mich nah an der API zu bewegen, aber hier liegt eben meine Befürchtung, dass diese Vorgehensweise falsch ist.
Die Klasse General hat ja im Prinzip rein gar nichts mit den untergeordneten Klassen zu tun. Das würde nur zur Struktur dienen um nah an der API Notation dran zu bleiben.
Gibt es ordentliche Guides wo man lernt wie man sich ordnungsgemäße Klassenstrukturen zusammenstellt?
MfG Tim
ich arbeite mich seit kurzer Zeit in die objektorientierte Programmierung ein und habe nun ein für mich großes Problem, da
ich nicht weiß wie ich meine Projekte/Klassen richtig strukturieren soll bzw. wann eine Klasse überhaupt angebracht ist.
Da es an einem Beispiel wohl einfacher zu erklären ist, zu meinem Beispiel:
Meine Grundfunktion die Sinusbot-API anzusprechen und die Results auszuwerten steht.
Allerdings werden im Body der HttpRequests Json Objekte versendet und so brauche ich die in der API Dokumentation angegebene Struktur
um Parameter Json-serialisiert mitzuliefern und Json-serialisierte results zu empfangen.
Nehmen wir uns aus der API mal den Punkt General heraus. Hier fängt es bei mir schon an. Überlegt habe ich mir ein solches Schema:
C#-Quellcode
- namespace Sinusbot.Core.JsonClasses
- {
- class General
- {
- public class Information
- {
- public const string RequestMethod = "GET";
- public const string RequestPath = "api/v1/bot/info";
- public class Success
- {
- public object bot { get; set; }
- public object system { get; set; }
- public string[] codecs { get; set; }
- public string[] formats { get; set; }
- public float usageMemory { get; set; }
- }
- }
- public class DefaultBot
- {
- public const string RequestMethod = "GET";
- public const string RequestPath = "api/v1/botId";
- public class Success
- {
- public string defaultBotId { get; set; }
- }
- }
- public class Login
- {
- public const string RequestMethod = "POST";
- public const string RequestPath = "api/v1/bot/login";
- public class Params
- {
- public string username { get; set; }
- public string password { get; set; }
- public string botId { get; set; }
- }
- public class Success
- {
- public string token { get; set; }
- public string botId { get; set; }
- }
- }
- }
- }
Ich habe ein solches Schema gewählt um mich nah an der API zu bewegen, aber hier liegt eben meine Befürchtung, dass diese Vorgehensweise falsch ist.
Die Klasse General hat ja im Prinzip rein gar nichts mit den untergeordneten Klassen zu tun. Das würde nur zur Struktur dienen um nah an der API Notation dran zu bleiben.
Gibt es ordentliche Guides wo man lernt wie man sich ordnungsgemäße Klassenstrukturen zusammenstellt?
MfG Tim