public static void addCarToPoliceDatabase(FlyweightFactory factory, Car car) { Console.WriteLine("\nClient: Adding a car to database."); var flyweight = factory.GetFlyweight(new Car { Color = car.Color, Model = car.Model, Company = car.Company }); // Клиентский код либо сохраняет, либо вычисляет внешнее состояние и // передает его методам легковеса. flyweight.Operation(car); }