Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

SOLID

No description
by

Vitaly Domnikov

on 1 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of SOLID

SOLID ISP SRP OCP Vitaly Domnikov
@dotcypress
Ciklum Вопросы? Single responsibility principle Open/closed principle Interface segregation principle Принцип единственной обязанности Принцип открытости/закрытости LSP Liskov substitution principle Принцип подстановки Барбары Лисков Принцип разделения интерфейса DIP Dependency inversion principle Принцип инверсии зависимостей Не должно существовать более одного мотива для изменения данного класса Singleton Law of Demeter Общайтесь только с ближайшими друзьями Немного истории :) Принцип открытости/закрытости Мейера Полиморфизм принципа открытости/закрытости Наследование Параметрический полиморфизм: Сup<T> Объекты проектирования должны быть открыты для расширения, но закрыты для модификации. Самый известный случай нарушения SRP? Функции, которые используют ссылки на базовые классы, должны иметь возможность использовать объекты производных классов, не зная об этом. Клиент не должен вынужденно зависеть от элементов интерфейса, которые он не использует. Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракции.
Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций. Жесткость - изменение одной части кода затрагивает слишком много других частей;

Хрупкость - даже незначительное изменение в коде может привести к совершенно неожиданным проблемам;

Неподвижность - никакая из частей приложения не может быть легко выделена и повторно использована. Тестируемость?
Связность? Unity
Ninject
Castle Windsor
Autofac IoC containers Нет, не слышал!
Full transcript