Если же мы все-таки решаем использовать встраивание типов, то нужно помнить о двух основных ограничениях:
• Не следует его использовать исключительно как синтаксический сахар — для упрощения доступа к полю (например, Foo.Baz() вместо Foo.Bar.Baz()). Если это единственная причина, то вместо встраивания внутреннего типа лучше использовать поле.
• Оно не должно продвигать данные (поля) или поведение (методы), которые мы хотим скрыть от посторонних глаз: например, если оно позволяет клиентам получить доступ к поведению блокировки
сли мы держим в памяти структуры больших размеров и они часто изменяются, то можно использовать указатели, чтобы избежать операции копирования и вставки при каждом таком изменении