Скотт Мейерс - Как функции, не являющиеся методами, улучшают инкапсуляцию

Здесь есть возможность читать онлайн «Скотт Мейерс - Как функции, не являющиеся методами, улучшают инкапсуляцию» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2000, Издательство: C/C++ user Journal, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Как функции, не являющиеся методами, улучшают инкапсуляцию: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Как функции, не являющиеся методами, улучшают инкапсуляцию»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Когда приходится инкапсулировать, то иногда лучше меньше, чем больше
Я начну со следующего утверждения: Если вы пишете функцию, которая может быть выполнена или как метод класса, или быть внешней по отношению к классу, Вы должны предпочесть ее реализацию без использования метода. Такое решение увеличивает инкапсуляцию класса. Когда Вы думаете об использовании инкапсуляции, Вы должны думать том, чтобы не использовать методы.
Удивлены? Читайте дальше.

Как функции, не являющиеся методами, улучшают инкапсуляцию — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Как функции, не являющиеся методами, улучшают инкапсуляцию», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

template‹typename T›

void doSomething(/* params */) {

// вызвать функцию фабрики для класса T

T *pt = T::make(/* params */);

}

Это не возможно в проекте, использующем пространство имен, потому что нет никакого способа, чтобы идентифицировать пространство имен, содержащего тип, внутри шаблона. То есть, нет способа выяснить чем является??? в псевдокоде, приведенном ниже:

template‹typename T›

void doSomething(/* params */) {

// нельзя узнать какое T содержит пространство имен!

T *pt =???::make(/* params */);

}

Для функций фабрики и подобных функций, которые могут быть заданы с одинаковыми именами, это означает, что максимальная инкапсуляция класса, и максимальное использование шаблонов имеют разногласия. В таких случаях, Вы должны решить, что является более важным и следовать этому. Однако, для статических методов классов – с именами определяемыми классом, проблема шаблонов перестает возникать, и инкапсуляция может снова быть главенствующей.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Как функции, не являющиеся методами, улучшают инкапсуляцию»

Представляем Вашему вниманию похожие книги на «Как функции, не являющиеся методами, улучшают инкапсуляцию» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Как функции, не являющиеся методами, улучшают инкапсуляцию»

Обсуждение, отзывы о книге «Как функции, не являющиеся методами, улучшают инкапсуляцию» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x