Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Axiomatik avatar Axiomatik 2422 Точки

This exercise is of vital importance, don't focus on new material until you get 100% !!!

 

Missing elements :

Contracts

ICommando => void AddMission(IMission mission) ;

IEngineer => void AddRepair(IRepair repair);

ILieutenantGeneral => void AddPrivate(ISoldier @private);

 

Models

Commando =>

-Inherits SpecialisedSoldier, ICommando

-private ICollection<IMission> missions; (better abstraction)

-Different constructor :

public Commando(int id, string firstName, string lastName, decimal salary, string corps)

: base(id, firstName, lastName, salary, corps)

{

this.missions = new List<IMission>();

}

-public string Corps => validated in SpecialisedSoldier, not Commando

 

Engineer =>

-Inherits SpecialisedSoldier, IEngineer

-Different constructor :

public Engineer(int id, string firstName, string lastName, decimal salary, string corps)

: base(id, firstName, lastName, salary, corps)

{

this.RepairList = new List<IRepair>();

}

-public List<IRepair> RepairList { get; private set; }

 

LieutenantGeneral =>

-public List<IPrivate> PrivateList { get; private set; }

 

Mission =>

- public void CompleteMission()

{

if (this.State == "inProgress")

{

this.State = "Finished";

}

}

 

Private =>

- public decimal Salary

{

get

{

return this.salary;

}

protected set

{

if (value < 0.0M)

{

throw new ArgumentException();

}

this.salary = value;

}

}

 

Repair =>

- public int Hours

{

get

{

return this.hours;

}

private set

{

if (value < 0)

{

throw new ArgumentException();

}

this.hours = value;

}

}

 

Soldier =>

- public int Id

{

get

{

return this.id;

}

protected set

{

if (value < 1)

{

throw new ArgumentException();

}

this.id = value;

}

}

 

SpecialisedSoldier : Private, ISpecialisedSoldier => Completely Missing, Needs to be implemented !!!

 

Spy =>

- public int CodeNumber

{

get

{

return this.codeNumber;

}

private set

{

if (value < 1)

{

throw new ArgumentException();

}

this.codeNumber = value;

}

}

 

StartUp =>

Seems to be OK, but is missing some try-catch blocks (“Commando”, “Engineer”, …) since some validations inside of the different classes throw exceptions.

0
CvetomirShterev avatar CvetomirShterev 5 Точки

I fixed everything that you said was wrong , and still 40/100 in other words no improvements. But thanks for the help any way.

0
donamtf avatar donamtf 9 Точки

nk you so much for this. I was into this issue and tired to   tinker around to check if its possible but couldnt get it done. Now that i have seen the way you did it, thanks guys
with
regards

_______________________

https://vidmate.onl/

-2
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.