Правила программирования на Си и Си++


         

у вас был класс устройства


class string
{
 // ...
public:
   print( FILE     *fp  );
   print( iostream &ios );
   print( window   &win );
я бы рекомендовал:
class string
{
// ...
public:
   print_file   ( FILE     *fp  );
   print_stream ( iostream &ios );
   print_window ( window   &win );
Еще лучше, если бы у вас был класс устройства device, который бы мог представлять типы: файловый FILE, потоковый iostream и оконный window, в зависимости от того, как он инициализируется — тогда бы вы могли реализовать единственную функцию print(), принимающую в качестве аргумента device.
Я должен сказать, что сам порой нарушаю это правило, но делаю это, зная, что, переступив черту, могу навлечь на себя беду.
Часть 8б. Проблемы сцепления
Концепция сцепления описана ранее в общем виде. Я также указал наиболее важное правило Си++ для сокращения числа отношений сцепления: "Все данные должны быть закрытыми". Идея минимизации связей на самом деле центральная для Си++. Вы можете возразить, что главной целью объектно-ориентированного проектирования является минимизация отношений связи посредством инкапсуляции. Этот раздел содержит специфические для Си++ правила, касающиеся связывания.

Содержание  Назад  Вперед