Весь пример шоколадного котла в синглтоне меня очень беспокоил, пока я его читал.
На самом фундаментальном уровне, я не понимаю, почему это необходимо, когда у вас есть только одна физическая вещь, чтобы закрепить этот факт в программном обеспечении. Что произойдет, если вы получите еще один? что ты собираешься делать, добавить второй к тому же синглтону? сделать 2 разных синглета? простая глобальная переменная сделает эту работу.
IMO, это не сам котел, из которого вы можете иметь только одну вещь, это доступ к управлению этим конкретным котлом. Вы не можете позволить второму лицу начать делать новую партию шоколада, когда он уже находится в этом процессе для кого-то другого, или даже позволить тому же человеку сделать вторую партию до того, как первая будет закончена. С этой точки зрения, простая система очередей или пакетной обработки сделает эту работу. Используя другой шаблон из книги, шаблон команд будет гораздо лучшим способом обработки, так как есть только одна официантка, и все новые заказы будут поставлены в очередь, пока повар не выполнит текущий заказ еды. (э-э, если вы не видели книгу, то, что я только что сказал, может не иметь большого смысла, извините)
Может быть, я просто не понимаю. Я раньше не делал много ООП или чего-то подобного с шаблонами проектирования, и из-за этого я теряю работу, поэтому я читаю об этом.