Czesc,
Tworze pierwszy raz jakis wiekszy wlasny projekt ktory chcialbym wrzucic na githuba. Chcialbym go pokazac na rozmowie kwalifikacyjnej w sprawie bezplatnego stazu, poniewaz na taki mam nadzieje sie dostac. W zwiazku z tym wpadlem na pomysl napisania apki dotyczacej schroniska dla zwierzat.
Chcialbym aby tworzenie nowych obiektow czyli dodawnie np. Psow, mialo miejsce poprzez wypelnienie jakiegos formularza i stad zastanawiam sie nad uzyciem Windows Forms aczkolwiek nie znam wgl tej technologii i nwm czy byloby to latwe do implementacji mojego kodu. Macie moze jakis lepszy pomysl od WF ? Chcialbym rowniez zeby dodane zwierzeta byly wpisywane do jakiejs bazy danych czy pliku tekstowego tylko tutaj rowniez nwm co wybrac poniewaz nie mam dostatecznej wiedzy. Macie moze jakies pomysly na rozwiniecie tego skromnego programu ? Staralem sie go pisac zgodnie z zasadami SOLID i uzywajac calej wiedzy jaka mam stad np. te interfejsy ktore nie wydaj mi sie super potrzebne ale chcialem pokazac ze je umiem. Chcialbym was rowniez prosic o jakas ocene tego kodu i tego czy to co napisalem nie jest na jakims smiesznym poziomie. Z gory przepraszam za slabe formatowanie ale to moj drugi post tutaj i jeszcze nie do konca sie w nim odnajduje. Dzieki wszystkim za odpowiedzi i prosze o mala wyrozumialosc poniewaz moja przygoda z programowaniem jest jeszcze dosc krotka :v
Do tej pory napisalem cos takiego:
using System;
namespace AnimalShelter
{
class Program
{
static void Main(string[] args)
{
Dog CzikoDog = new Dog("Cziko", 2, Gender.Male, "Krakow", DateTime.Today, DogBreed.Labrador, true, true, Vaccination.TickAndRabies);
IDogDescription CzikoDescription = (IDogDescription)CzikoDog;
//CzikoDescription.Describe();
IDogDescription CzikoFullDescription = (IDogDescription)CzikoDog;
CzikoFullDescription.DescribeInDetails();
Console.WriteLine();
Cat LauraCat = new Cat("Laura", 1, Gender.Female, "Poznan", DateTime.Today, CatBreed.Persian, true, false, Vaccination.Tick);
ICatDescription LauraDescription = (ICatDescription) LauraCat;
//LauraDescription.Describe();
ICatDescription LauraFullDescription = (ICatDescription) LauraCat;
LauraFullDescription.DescribeInDetails();
Console.ReadKey();
}
}
enum Gender
{
Male,
Female,
Unknown
}
enum Vaccination
{
Tick, // It s not a good name for it but i don t have any idea how to change it
Rabies, // Also with this I don t have good idea
TickAndRabies,
NoVaccination
}
enum DogBreed
{
Sheepdog,
York,
Labrador,
West,
FrenchBulldog,
Mongrel
}
enum CatBreed
{
BritishCat,
MaineCoon,
RussianCat,
Persian,
Radgoll,
Moggy
}
interface IDogDescription
{
void Describe();
void DescribeInDetails();
}
interface ICatDescription
{
void Describe();
void DescribeInDetails();
}
}
abstract class Animal
{
public Animal()
{
}
public Animal(string _name, int _age, Gender _gender, string _placeOfBirth, DateTime _dateOfBirth)
{
this.Name = _name;
this.Age = _age;
this.Gender = _gender;
this.PlaceOfBirth = _placeOfBirth;
this.DateOfBirth = _dateOfBirth;
}
public string Name { get; set; }
public int Age { get; set; }
public Gender Gender { get; set; }
public string PlaceOfBirth { get; set; }
public DateTime DateOfBirth { get; set; }
}
class Dog : Animal, IDogDescription
{
public Dog(string _name, int _age, Gender _gender, string _placeOfBirth, DateTime _dateOfBirth, DogBreed _dogBreed, bool _pedigree, bool _sterilization, Vaccination _vaccination) : base(_name, _age, _gender, _placeOfBirth, _dateOfBirth)
{
this.DogBreed = _dogBreed;
this.Pedigree = _pedigree;
this.Sterilization = _sterilization;
this.Vaccination = _vaccination;
}
public bool Pedigree { get; set; }
public DogBreed DogBreed { get; set; }
public bool Sterilization { get; set; }
public Vaccination Vaccination { get; set; }
void IDogDescription.Describe()
{
Console.WriteLine("Name: {0}\nBreed: {1}\nGender: {2}\nAge: {3} year/s", Name, DogBreed, Gender, Age);
}
void IDogDescription.DescribeInDetails()
{
Console.WriteLine("Name: {0}\nBreed: {1}\nGender: {2}\nAge: {3} year/s \nDate of Birth: {4}\nPlace of Birth: {5}\nPedigree: {6}\nSterilization: {7}\nVaccination: {8}", Name, DogBreed, Gender, Age, DateOfBirth, PlaceOfBirth,Pedigree, Sterilization, Vaccination);
}
}
pavarotti