Всем привет!
Сражу скажу, что я начинающий программист, поэтому не кидайтесь камнями
Суть такова:
Есть некий поисковый механизм, принимающий на вход параметры поиска вида [Name=Alex; Age=23; Country=3 и т.д.]
Нужно прикрутить к нему морду и немного логики.
Задача проста и никакой технической сложности не представляет(мне так кажется) и хотелось бы ее реализовать по-грамотному. В этом вся проблема, как правильно я не знаю, свой велосипед изобретать не хочется, тем более задача типовая.
Вот что меня интересует:
В каких структурах лучше размещать параметры и их описания?
параметров много, все они имеют различные типы и граничные условия + еще нужно хранить подсказки, описания etc
и еще хочется, чтобы в самой программе было удобно оперировать поиском. Например создать такой запрос
search(..,..,Countries.Russia,...), где Countries.Russia — перечисление = 3. т.е. не пихать везде магические числа, а что-то осмысленное.
Если вы дадите ссылки на похожие,
правильно написанные опенсоурс приложения, это будет здорово
09.08.09 10:52: Перенесено модератором из '.NET' — TK
как вариант могу предложить такой код:
class Program
{
class Country
{
private int _id = -1;
private string _name = String.Empty;
private string _description = String.Empty;
public int Id
{
get { return _id; }
}
public string Name
{
get { return _name; }
}
public string Description
{
get { return _description; }
}
public Country(int id, string name, string description)
{
_id = id;
_name = name;
_description = description;
}
}
class Countries
{
public static readonly Country Country1 = new Country(1, "country1", "it is country1");
public static readonly Country Country2 = new Country(2, "country2", "it is country2");
public static readonly Country Country3 = new Country(3, "country3", "it is country3");
}
static void Main(string[] args)
{
Console.WriteLine("{0} - {1} - {2}", Countries.Country1.Id, Countries.Country1.Name, Countries.Country1.Description);
Console.WriteLine("{0} - {1} - {2}", Countries.Country2.Id, Countries.Country2.Name, Countries.Country2.Description);
Console.WriteLine("{0} - {1} - {2}", Countries.Country3.Id, Countries.Country3.Name, Countries.Country3.Description);
Console.ReadKey();
}
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Neir0, Вы писали:
N>Всем привет!
N>Сражу скажу, что я начинающий программист, поэтому не кидайтесь камнями
N>Суть такова:
N>Есть некий поисковый механизм, принимающий на вход параметры поиска вида [Name=Alex; Age=23; Country=3 и т.д.]
N>Нужно прикрутить к нему морду и немного логики.
N>Задача проста и никакой технической сложности не представляет(мне так кажется) и хотелось бы ее реализовать по-грамотному. В этом вся проблема, как правильно я не знаю, свой велосипед изобретать не хочется, тем более задача типовая.
N>Вот что меня интересует:
N>В каких структурах лучше размещать параметры и их описания?
N>параметров много, все они имеют различные типы и граничные условия + еще нужно хранить подсказки, описания etc
N>и еще хочется, чтобы в самой программе было удобно оперировать поиском. Например создать такой запрос
N>search(..,..,Countries.Russia,...), где Countries.Russia — перечисление = 3. т.е. не пихать везде магические числа, а что-то осмысленное.
N>Если вы дадите ссылки на похожие, правильно написанные опенсоурс приложения, это будет здорово
как вариант могу предложить следующий код:
class Program
{
class Country
{
private int _id = -1;
private string _name = String.Empty;
private string _description = String.Empty;
public int Id
{
get { return _id; }
}
public string Name
{
get { return _name; }
}
public string Description
{
get { return _description; }
}
public Country(int id, string name, string description)
{
_id = id;
_name = name;
_description = description;
}
}
class Countries
{
public static readonly Country Country1 = new Country(1, "country1", "it is country1");
public static readonly Country Country2 = new Country(2, "country2", "it is country2");
public static readonly Country Country3 = new Country(3, "country3", "it is country3");
}
static void Main(string[] args)
{
Console.WriteLine("{0} - {1} - {2}", Countries.Country1.Id, Countries.Country1.Name, Countries.Country1.Description);
Console.WriteLine("{0} - {1} - {2}", Countries.Country2.Id, Countries.Country2.Name, Countries.Country2.Description);
Console.WriteLine("{0} - {1} - {2}", Countries.Country3.Id, Countries.Country3.Name, Countries.Country3.Description);
Console.ReadKey();
}
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>