Как повторно использовать практически один и тот же код между проектами? - PullRequest
1 голос
/ 27 января 2012

Я пытаюсь реализовать отчет, основанный на веб-странице.Веб-страница находится в одном проекте MyProject.Web, а отчет - в проекте MyProject.Reports.В обоих случаях я хочу отобразить один и тот же элемент управления (сторонний элемент управления диаграммой).В проекте «Отчеты» используется немного другая реализация (то есть большинство всех участников совместимы) стороннего элемента управления диаграммой.Почти весь код может быть скопирован между двумя проектами.Однако следующий код несовместим в проекте отчетов:

chart.BorderOptions.Visible = false; // BorderOptions is not a member

необходимо заменить на:

chart.Borders = BorderSide.None;

Это:заменить на:

chart.Height = 300; // int type 
chart.Width = 700; // int type

и наконец:

chart.Padding.All = 0;

необходимо удалить.

Какое здесь лучшее решение?

Ответы [ 2 ]

4 голосов
/ 27 января 2012

Выглядит как классический чехол с рисунком адаптера .

По сути, вы можете инкапсулировать разные части и реализовывать их только по-разному. Вы можете создать класс или подкласс MyAwesomeChart или что-то более похожее на MyAwesomeChartSetter.

1 голос
/ 27 января 2012

В этом случае лучшим решением будет использование одной и той же реализации в обоих проектах.

Если вы не можете этого сделать, просто оставьте это. Если вы разместили весь код, то на самом деле он не такой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...