Обсуждение доклада: Проектирование по контракту

141 views
Skip to first unread message

Александр Бындю

unread,
Mar 21, 2012, 1:36:52 AM3/21/12
to dotne...@googlegroups.com
Ссылка на страницу доклада: http://www.dotnetconf.ru/Materialy/Programming_By_Contract 

Здесь можно обсудить доклад с автором и задать вопросы до выступления. 

Alexander I. Zaytsev

unread,
Mar 21, 2012, 4:17:02 AM3/21/12
to dotne...@googlegroups.com
Может всё-таки программирование?

21 марта 2012 г. 11:36 пользователь Александр Бындю <alexande...@gmail.com> написал:

sergey.teplyakov

unread,
Mar 21, 2012, 8:49:39 AM3/21/12
to dotnetconf
Вообще-то в оригинале это дело звучит так: Design by Contract. Так что
нет, именно проектирование по контракту. Нужно скорее ссылку
поправить, чтобы она отражала правильное название.

On 21 мар, 10:17, "Alexander I. Zaytsev" <hazzik+nos...@gmail.com>
wrote:


> Может всё-таки программирование?
>
> 21 марта 2012 г. 11:36 пользователь Александр Бындю <

> alexander.byn...@gmail.com> написал:

Message has been deleted
Message has been deleted

Ramil Kadraliev

unread,
Mar 22, 2012, 2:37:27 AM3/22/12
to dotne...@googlegroups.com
Хотелось бы услышать как Вы реализуете проверку контрактов, про разные фреймворки, с помощью которых можно реализовать проверку контрактов.
Как проверка влияет на производительность (например, если реализовывать аспекты для проверки контрактов c помощью postsharp, aspect.net или spring, или встроенных в .net механизмов)

среда, 21 марта 2012 г. 9:36:52 UTC+4 пользователь Александр Бындю написал:

sergey.teplyakov

unread,
Apr 1, 2012, 12:39:00 PM4/1/12
to dotne...@googlegroups.com
Если речь идет о платформе .NET, то полноценную поддержку контрактов обеспечивает только библиотека Code Contracts. Причем в ней поддерживаются практически все возможности, представленные в парадигме Design by Contract ее разработчиком (Бертраном Мейером), единственное, чего в ней нет, так это инвариантов циклов, но в .NET-е это не актуально.

Других библиотек, которые поддерживают контрактное программирование на том же уровне - нет, и, скорее всего, не будет. Code Contracts используется внутри Майкрософта, в частности разработчиками BCL и многих других инструментов, поэтому мы с вами, как пользователи этого всего дела можем использовать контракты стандартных типов BCL, таких как коллекции, всякие стринг билдеры и другое.

Негативного влияния на производительность практически нет, а вот негативное влияние на время компиляции присутствует. В целом, тема интересная, ну а подробности будут на конференции.

четверг, 22 марта 2012 г. 8:37:27 UTC+2 пользователь Ramil Kadraliev написал:
Reply all
Reply to author
Forward
0 new messages