Loading...
martin_n_marinov avatar martin_n_marinov 26 Точки

[Homework] OOP - Static Members and Namespaces - Януари 2015

Не видях да има тема за второто домашно по ООП за Януари, затова реших да направя еднa. Та ето моето домаштно :

01.Point3D

02.DistanceCalculator

03.Paths

04.HtmlDispatcher

05.BitArray

06.Namespaces

 

Някои ако има по-добри решения, особено за 5-та задача, която не ми харесва изобщо как съм я написал, да споделя. 

Тагове:
6
C# OOP Basics 24/01/2015 09:11:43
alex.mitev avatar alex.mitev 20 Точки

Здравейте, бърз въпрос :

Имам namespace Geometry.Geometry3D. Вътре добавям класове, но да кажем тези класове ги имам в друг namespace, към който мога да добавя reference и да ги add-na готови, като existing item.

Кое е по-правилно и оптимално -  като ги добавя да им променя namespace на Geometry.Geometry3D, или да ги използвам под namespace-a, към който имам reference?

 

0
Filkolev avatar Filkolev 4482 Точки

Обясни малко повече ситуацията. Даваш референция към dll/exe или добавяш ръчно през Add менюто самите класове? Ако добавяш референция няма как да промениш неймспейса; ако е второто - по-добре да го промениш спрямо изискването на условието стига тези класове да не се ползват и в друг проект.

0
alex.mitev avatar alex.mitev 20 Точки

Добавям ръчно през Add. Да кажем по условие имам да добавя Point3D, Path3D i t.n в namespace Geometry.Geometry3D. Вместо да ги пиша, давам Add existing item, избирам нужните класове. Те се намират в друг протект - Point3D или катко е именуван. Ако addna reference на текущият ми проект Namespaces към Point3D проекта, мога да използвам класовете using техните namespaces. 

Но ми е интересно, в практиката, когато се правят такива неща, кое се предпочита - използването на един проект от друг и неговите namespaces, или е за предпочитане да се добавят нужните класове от другият проект, но да се дефинират под namespace на текущият проект. 

Наистина малко объркано излезе, не е свързан точно със задачите, но искам да знам как се случват нещата, за да се направи качествен проект.

0
Filkolev avatar Filkolev 4482 Точки

По-логичното е да добавиш референция. В практиката доста често се правят библиотеки с готови класове, такива примерно са dll-ките, които се свалят през NuGet. В такъв случай другата опция липсва, ти нямаш достъп до сорс кода, а само до компилирания проект.

Има го и другия проблем дори да имаш кода, че ако ти трябват само три класа от 10, които са в проекта, кои импортваш? Само трите, или всички, или нещо средно? Тези три класа, които са ти нужни, независими ли са или зависят от някои от останалите 7 класа? Рискуваш да вземеш парче от нещо цяло и това парче да не се държи коректно извадено от цялото. Затова по-добре да се реферира готовия проект, оттам нататък каквото ти потрябва го взимаш с using директиви.

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