Этот вопрос не касается мобильного приложения. Мне нужно было создать структуру, связанную с Command Pattern, для функций Undo и Redo. У меня будет команда AddStrokeCommand, RemoveStrokeCommand и ClearAllCommand. Каждый из них можно отменить.C#: Передает ли сложный список объектов другому классу много памяти
Мне нужен интерфейс, который говорит ICommand с Execute и UnExecute.
Пример моего кода:
public class AddStrokeCommand : ICommand
{
public event EventHandler CanExecuteChanged;
public ObservableCollection <Stroke> Strokes { get; set;}
public AddStrokeCommand (ObservableCollection<Stroke> strokes) {
Strokes = strokes;
}
public bool CanExecute(object parameter)
{
throw new NotImplementedException();
}
public void Execute(object parameter)
{
Strokes.Add((Stroke) parameter);
}
public void UnExecute()
{
Strokes.Remove((Stroke) parameter);
}
}
Приложение само по себе показывает много страниц, которые могут быть аннотированный, поэтому может иметь много штрихов нарисованных на каждой странице. Если я передам штрихи каждому объекту команды, будет ли он использовать много памяти? Будет ли лучший вариант?
Вы не передаете список, вы просто передаете ссылку, указывающую на список. – InBetween
Пока вы не знаете, что у вас проблема с памятью, вам не стоит беспокоиться об этом. То, что вам нужно сделать, это бит профилирования памяти, но, по моему мнению, вы будете пытаться использовать любой значительный объем памяти. – Enigmativity
Я думаю, вам нужно попробовать его и посмотреть, есть ли проблема решить, прежде чем пытаться его исправить. – user1666620