2008-12-14 1 views
2

Я думаю, что я хорошо разбираюсь в синтаксисе C#. Теперь я ищу некоторые ресурсы, книги (предпочтительнее), веб-сайты, блоги, которые имеют лучший способ разработки объектно-ориентированных настольных приложений и веб-приложений, особенно когда речь идет о данных и базах данных.Помогите с дизайном

Благодаря

ответ

1

Для книги о том, как разрабатывать программное обеспечение, я бы рекомендовал The Pragmatic Programmer. Для дизайна вы можете посмотреть Interface Oriented Design. Code Complete является ссылкой «от А до Я» по разработке программного обеспечения. Вы также можете рассмотреть книги O'Reilly Head First, особенно Head First Object-Oriented Analysis and Design, что-то немного легче начать.

EDIT Я не знаю, как я забыл о Боб Мартине, но вы также можете прочитать любую из книг, которые Object Mentor имеет в любом из своих списков. Вот их раздел на Software Design. В частности, я бы рекомендовал Agile Software Development: Principles, Patterns, and Practices (Amazon, но это также вторая книга в списке Object Mentor).

1

Я не был в восторге от каких-либо из недавних книг, настолько, что я серьезно подумываю о написании нового. Книги «Первой главы», как правило, читали мне, как один шаг выше книг «Для чайников» (честно говоря, я не читал этого.)

Я действительно любил Питер Коуд Java Design; вы можете получить одно дешевое использование, оно больше не печатается. Очевидно, что это тяжелая Java, но часть дизайна хорошая и довольно легкая.

Ivar Jacobson's Object Oriented Software Engineering также очень хорош (в частности, он представил идею «прецедентов») и, похоже, все еще печатается, но вокруг них используются миллионы использованных копий.

+0

Да, я смотрел на голову сначала книгу, но я не видел ничего о работе с базами данных или данных слоя. – jumbojs 2008-12-14 05:12:04

6

Вы просите выпить из пожарной машины. Позвольте мне рекомендовать вам написать несколько небольших программ, прежде чем вы займетесь большими. Тем не менее, вот несколько книг о дизайне и документ, который утверждает, что многие конструкции не могут быть извлечены из книг:

  • On System Design является хорошим короткий документ, который артикулирует то, что многие опытные программисты думают об искусстве дизайна.

  • Programming Pearls от Jon Bentley представляет несколько прекрасных примеров дизайн в небольшом размере. Это весело читать и включает в себя много классических историй.

  • The Unix Programming Environment от Kernighan and Pike представляет одна из отличных философий программного обеспечения 20-го века. По-прежнему требуется чтение через почти 25 лет.

  • Software Tools in Pascal уже и глубже, но расскажет вам многое о специфике здания программных средств и философии дизайна.

  • Abstraction and Specification in Program Development Барбара Лисков и Джон Гуттаг научит вас, как дизайн отдельных модулей, чтобы они могли соответствовать с другими модулями, чтобы сформировать большие библиотеки. Он выходит из печати, но ваша местная библиотека университета может иметь его.

  • C Interfaces and Implementations представляет очень хорошо разработан библиотекой, что дает C программист абстракций найдены в гораздо языках высокого уровня.

  • Наконец, Test-Driven Development научит вас как сформулировать и разработать дизайн через материал, который имеет значение: то, что на самом деле делает ваше программное обеспечение.

Я многому научился у Composite/Structured Design по Гленфорд Майерс, но она несет немного меньше непосредственно на темы, которые вы просили о. В основном речь идет о хороших и плохих способах, которые модули могут взаимозависимы.

1

Я выбираю из вашего вопроса следующие ключевые слова: Объектно-ориентированный (моделирование и программирование), создание настольных приложений, создание веб-приложений и создание базы данных. Поскольку вы не упомянули какой-либо конкретный язык, очень сложно сделать рекомендацию для вас. Поэтому я притворяюсь, что я тот, кто задает вопрос и зная меня, я рекомендую самому себе:

  1. OO: Мышление на C++ или мышление на Java от Bruce Eckel.
  2. Строительство настольные приложения: Ultimate++
  3. и веб-разработки приложений: http://www.djangoproject.com/
  4. База данных: У меня нет каких-либо хорошие рекомендации.

Мои рационален для принятия вышеуказанных рекомендаций:

  1. Я не хочу рекомендовать десяток книг и более. Вам не придется читать их все.
  2. Книги «Думая» Брюса Эккеля могут охватывать основные концепции ОО, поскольку у вас не возникнет проблем с подбором нового языка, поскольку это всего лишь вопрос синтаксиса.
  3. Ultimate ++ может создавать самые скудные настольные приложения, и они очень сильно используют шаблоны, что приводит к очень элегантным кодам. Другое преимущество использования U ++ над чем-то вроде MFC, WPF, Java Swing Java SWT, Python и т. Д. Заключается в том, что ваш исполняемый файл не имеет багажа или зависимостей. Это не потребует от ваших пользователей установки JRE, .NET framework, MFC DLL или Python и т. Д. Это мой выбор, поэтому я делаю эту рекомендацию.
  4. Django потому что я знаю и люблю Python, и я не очень хорошо знаю Ruby. Эксперты Ruby скажут, что RubyOnRails или эксперты C# скажут ASP MVC. Java может сказать Struts, JSF, Stripes, но я не думаю, что у Java есть что-то, что может конкурировать с фреймворками из Python, Ruby, C# или даже PHP в наши дни.
1

Я удивлен, что никто еще не упомянул о шаблонах дизайна от «Банды четырех». Это книга, которая действительно укрепила в моем сознании, как OO действительно нужно использовать. Первые главы пара особенно интересны о том, как все должно работать в хорошей системе. Это не самое легкое чтение, но я думаю, что это лучшее. Если вы хотите получить более светлый вид по одному и тому же предмету, ознакомьтесь с шаблонами Head First Design.

+0

Хотя книга называется * «Шаблоны проектирования», я никогда не находил в ней много дизайна. Около половины книги представляет собой сборник техник, которые используются хорошими программистами - очень полезно для программистов развивать некоторую зрелость. Остальное - обходные пути для вещей на C++, которые сломаны. – 2008-12-14 06:36:46

+0

Узоры, найденные в книге, работают на всех языках OO и вдохновлены работой Smalltalk. Называть их обходными решениями для вещей на C++, которые сломаны, - это пропустить точку в книге. Вы правы, что дизайн не фронт все время, но он есть в причине шаблонов. – 2008-12-16 01:02:43

0

Несколько лет назад, как и переменного тока программист, который сделал некоторые Windows 3.1 программирования, я узнал много нового о объектно-ориентированного проектирования с использованием рамок развития, в частности, в библиотеке объектов Windows для Borland. Тогда их пакет также имел хорошо продуманную библиотеку объектов базы данных для своего механизма базы данных. В настоящее время вся база данных - это SQL, которая не поддается демонстрации, imho, хороший дизайн.

Итак, мой совет будет заключаться в программировании того, с чем вы немного знакомы, используя хорошо спроектированную библиотеку объектов. Я не уверен, куда вам указывать - Visual Studio очень громоздка, объектные модели Office немного трудны, чтобы разобраться с ними, пока вы не потратили некоторое время с ними ...

0

Вы также должны иметь Объектно-ориентированный анализ и дизайн с приложениями - Grady Booch.

Это должно быть для людей, заинтересованных в OOAD