Запитання з тегом «design»

Питання щодо вирішення проблем та планування рішення за допомогою розробки програмного забезпечення.

4
Чи погана практика використовувати параметри методу?
Бувають випадки, коли мені потрібно буде змінити значення, передане в метод, із самого методу. Прикладом може бути санітація рядка типу цього методу: void SanitizeName(string Name) { Name = Name.ToUpper(); //now do something here with name } Це суто нешкідливо, оскільки Nameаргумент не передається посиланням. Однак якщо з якихось причин розробник …

3
Чи краще захистити виклик методу або сам метод?
Я пишу заявку, і я дійшов до цього пункту: private void SomeMethod() { if (Settings.GiveApples) { GiveApples(); } if (Settings.GiveBananas) { GiveBananas(); } } private void GiveApples() { ... } private void GiveBananas() { ... } Це виглядає досить прямо. Існують деякі умови, і якщо вони є правдивими, методи викликаються. …

2
Як обробити зміни дизайну для депрекації auto_ptr в C ++ 11?
Ми тестуємо бібліотеку на C ++ 11 (тобто -std=c++11). Бібліотека використовує auto_ptrтаку схему: Foo* GetFoo() { autoptr<Foo> ptr(new Foo); // Initialize Foo ptr->Initialize(...); // Now configure remaining attributes ptr->SomeSetting(...); return ptr.release(); } C ++ 11 застаріло auto_ptr, тому ми хочемо відійти від нього. Однак код підтримує як C ++ 03, …
12 design  c++  c++11 

1
Увійдіть до файлу чи до таблиці баз даних?
Я розробляю веб-додаток, який використовує MS SQL для різних даних: включаючи користувачів, облікові записи користувачів, ліцензії користувачів, ціни на ліцензії, рахунки-фактури. Мені потрібно реєструвати користування системою в режимі реального часу та використовувати це для щомісячного виставлення рахунків: наприклад, журнал кожного разу, коли користувач отримує певну сторінку / URL-адресу та виставляє …

8
Як швидке прототипування вписується у спритну методологію?
Я працюю у великій компанії, яка диктує використання спритних процесів. Наприклад, для наших проектів ми використовуємо хмарні сервіси, спеціально орієнтовані на управління спритною розробкою. Конкретна інженерна група, над якою я працюю, традиційно не розробляла програмне забезпечення (натомість ми допомагаємо рухати проекти з набагато більшої точки зору «пташиного польоту»), але це …

2
"Як правильно, проти побажань замовника" - як це називається? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 6 років тому . Ми знаємо оптимальну ситуацію щодо узгодження виправлень специфікацій із замовником, отримання специфікацій робити те, що хоче клієнт, а не те, …

4
Як я б спроектував інтерфейс таким чином, щоб було зрозуміло, які властивості можуть змінювати своє значення, а які залишатись постійними?
У мене виникає проблема дизайну щодо властивостей .NET. interface IX { Guid Id { get; } bool IsInvalidated { get; } void Invalidate(); } Проблема: Цей інтерфейс має два властивості лише для читання Idта IsInvalidated. Той факт, що вони лише для читання, сам по собі не є гарантією того, що …
12 c#  design  .net  properties 


4
Коли ми повинні використовувати слабкі об'єкти при моделюванні бази даних?
Це в основному питання про те, що таке слабкі утворення? Коли ми повинні їх використовувати? Як їх моделювати? У чому головна відмінність між нормальними і слабкими особами? Чи відповідають слабкі об'єкти цінним об'єктам, коли роблять дизайн, керований доменом? Щоб утримати запитання про цю тему, наведено приклад із Вікіпедії, який люди …

5
Менеджер програмного забезпечення, який змушує розробників займатися управлінням проектами
Я розробник програмного забезпечення, який працює в компанії з вбудованими системами. У нас є керівник проекту, який піклується про загальний графік проекту (включаючи електроенергію, якість, програмне забезпечення та виробництво), отже його графік програмного забезпечення дуже короткий. У нас також є менеджер програмного забезпечення, який є моїм начальником. Він змушує мене …

2
Шукаєте поради щодо дизайну OO
Я розробляю додаток, який буде використовуватися для відкривання та закриття клапанів у промислових умовах, і думав про щось таке, як це: - public static void ValveController { public static void OpenValve(string valveName) { // Implementation to open the valve } public static void CloseValve(string valveName) { // Implementation to close …

4
Як ви отримали передовий досвід для своїх проектів OOP? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 2 роки тому . Я зрозумів, що у мене виникають труднощі при створенні конструкцій OOP. Я витратив багато часу, вирішуючи, чи правильно вказано цю …

2
Інтелект як векторна величина
Я читаю цю чудову книгу Петра Сейбела "Кодери на роботі: роздуми про майстерність програмування" , і я є частиною, де розмова ведеться з Джошуа Блохом, і я знайшов цю відповідь, яка є важливим моментом для програміста. Абзац, йде приблизно так. Є ця проблема, яка полягає в тому, що програмування - …

2
Чи алгоритм Дейкстри є відповідним рішенням цієї проблеми маршрутизації сигналу?
Я зараз розробляю модуль управління сигналами та маршрутизацією для інтегрованої аудіовізуальної системи і розробляю її з метою бути максимально гнучким у різних мережах розподілу сигналів. Завдання модуля полягає в обробці маршрутизації через ряд складених матричних комутаторів 1 та обробці необхідного перетворення формату. Найкраще рішення, яке я досліджував на даний момент, …

4
Уникнення роздутих об'єктів домену
Ми намагаємось перенести дані з нашого розширеного сервісного рівня в наш доменний рівень, використовуючи підхід DDD. Наразі у наших послугах є велика ділова логіка, яка розповсюджується всюди і не отримує користі від успадкування. У нас є центральний клас доменів, який є основною частиною нашої роботи - торгівля. Об'єкт Торгівлі буде …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.