Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 29.11.2014
Сообщений: 12

Методы генерации

29.11.2014, 23:50. Показов 1222. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
К программе предъявляется следующее требование – у каждого договора должен генерироваться код. Код должен быть уникальным. В общем-то все. Перед программистом стоит задача выбора метода генерации.Есть много вариантов, но среди них три основных:
Hardcoded
Захардкодить и всегда генерировать одним и тем же способом.
Configurable
Добавить GUI для выбора полей, на основе которых будет генерироваться код.
Extensible
Сделать отдельный и нтерфейс (программный интерфейс) для этого и определять реализацию в рантайме на основе подключенной длл-ки.
Опишите чем, на ваш взгляд, хороши и плохи все эти методы. Когда уместен тот или иной?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2014, 23:50
Ответы с готовыми решениями:

Программа для генерации текста
Доброго времени суток! Мне нужно написать программу для генерации текста. Мой алгоритм достаточно простой: есть текстовый файл, в...

Производительность при генерации изображений
Имеется вопрос об оптимизации производительности генерации изображения. Пишу программу, которая генерирует изображение попиксельно. Есть...

Нужен работающий код генерации штрих-кода
Всем привет, может у кого найдется работающий код генерации штрих-кода(похожих на те, что сканируют в магазе) Если с помощью шрифта, то...

6
2742 / 1668 / 269
Регистрация: 19.02.2010
Сообщений: 4,415
30.11.2014, 22:00
Лучше захардкодить получение-использование виндовозовского GUID. В таком случае при запуске нескольких копий проги на разных компах (в сети или не в сети - не важно) они гарантированно не породят одинаковые коды.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
30.11.2014, 22:07
Adiletkg93, как-то от скуки написал вот такую вот муть. Генератор. Может что пригодится в вашем вопросе...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Security.Cryptography;
 
namespace GUIDGenerator {
    class Program {
        static void Main(string[] args) {
            for (int i = 0; i < 100; i++) {
                string myPassword = GUIDGen.GetGUID();
                Console.WriteLine(myPassword);
            }
            Console.ReadLine();
        }
    }
    public static class GUIDGen {
        public static string GetGUID() {
            byte[] bytes = new Byte[16];
            RNGCryptoServiceProvider rand = new RNGCryptoServiceProvider();
            rand.GetBytes(bytes);
            Guid myGuid = new Guid(bytes);
            return myGuid.ToString().Replace("-", "").Trim();
        }
    }
}
0
 Аватар для sigmov
585 / 372 / 63
Регистрация: 22.07.2009
Сообщений: 875
Записей в блоге: 4
02.12.2014, 06:50
Цитата Сообщение от Adiletkg93 Посмотреть сообщение
К программе предъявляется следующее требование – у каждого договора должен генерироваться код. Код должен быть уникальным. В общем-то все.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public abstract class UniquedObject
{
    string uniqueCode;
 
    protected virtual string UniqueCodeGenerator()
    {
        return Guid.NewGuid().ToString();
    }
 
    protected virtual void OnBeforeSave()
    {
        this.uniqueCode = this.UniqueCodeGenerator();
    }
}
Цитата Сообщение от insite2012 Посмотреть сообщение
как-то от скуки написал вот такую вот муть
C#
1
Guid.NewGuid(); //Разве не проще?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
02.12.2014, 13:58
Цитата Сообщение от sigmov Посмотреть сообщение
Разве не проще?
Проще. Однако стойкость моего способа выше, за счет использования криптостойкой последовательности байт, на основе которой и создается Guid.
1
1 / 1 / 0
Регистрация: 29.11.2014
Сообщений: 12
02.12.2014, 15:07  [ТС]
Спасибо большое. Помогли. Использовал Guid.NewGuid(). В моем случае это уместно.
0
1 / 1 / 0
Регистрация: 29.11.2014
Сообщений: 12
10.07.2015, 19:27  [ТС]
Тему можно удалить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.07.2015, 19:27
Помогаю со студенческими работами здесь

Ошибка при генерации Excel через OpenXML
Добрый день. В программе работы с БД написал метод экспорта данных из DataGridView в Excel-файл с помощью OpenXML. В 90% случаев...

Различия в генерации (Entity Framework)
Рабочий комп - Windows 7, Visual Studio 2010, MS SQL Server 2008, версия Entity Framework вроде 4, но неточно - при генерации EDM модели на...

Вывод дополнительной информации при генерации исключения
И так у меня есть часть кода SqlConnection con = new SqlConnection(&quot;Password=&quot; + Password + &quot;;Persist Security...

Автоматическая генерации aspx страницы.
Здравствуйте. Задача у меня такая. Есть некая таблица,в неё можно добавлять и удалять данные. При этом нужно сделать так, чтобы при...

Проблема кодировок при генерации HTML из XML в ASP
Есть ASP-файл, который собирающий XML и XSL: &lt;% set xml = Server.CreateObject('MSXML2.DOMDocument') xml.async = false ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru