Додати до Chrome
✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.
interface View{ void Update();}class DetailsView: View{ ReportDocument doc; public void Update() { ... } public UpdateReportDetails() { report = doc.GetReportData(); ... } ...}class SummaryView: View{ ReportDocument doc; public void Update() { ... } public UpdateReportSummary() { report = doc.GetReportData(); ... } ...}class ReportDocument{ ReportInfo reportInfo; DetailsView detailsView; SummaryView summaryView; public void SetParameters(int a, int b) { recalculateReportBasedOnParams(a, b); summaryView.UpdateReportSummary(); summaryView.UpdateReportDetails(); } public ReportInfo GetReportData() { return reportInfo; } ...}
interface View
{
void Update();
}
class DetailsView: View
ReportDocument doc;
public void Update()
...
public UpdateReportDetails()
report = doc.GetReportData();
class SummaryView: View
public UpdateReportSummary()
class ReportDocument
ReportInfo reportInfo;
DetailsView detailsView;
SummaryView summaryView;
public void SetParameters(int a, int b)
recalculateReportBasedOnParams(a, b);
summaryView.UpdateReportSummary();
summaryView.UpdateReportDetails();
public ReportInfo GetReportData()
return reportInfo;
interface View{ void HandleChange();}class DetailsView: View{ ReportDocument doc; public void HandleChange() { ... }}class SummaryView: View{ ReportDocument doc; public void HandleChange() { report = doc.GetReportData(); displayReportSummary(report); } ...}class ReportDocument{ ReportInfo reportInfo; List<View> views = new List<View>(); public void SetParameters(int a, int b) { recalculateReportBasedOnParams(a, b); foreach (View v in views) v.HandleChange(); } public ReportInfo GetReportData() { return reportInfo; } ...}
void HandleChange();
public void HandleChange() { ... }
public void HandleChange()
displayReportSummary(report);
List<View> views = new List<View>();
foreach (View v in views)
v.HandleChange();
interface View{ void HandleChange(ReportInfo reportInfo);}class DetailsView: View{ ReportDocument doc; public void HandleChange(ReportInfo reportInfo) { ... } ...}class SummaryView: View{ ReportDocument doc; public void HandleChange(ReportInfo reportInfo) { displayReportSummary(report); } ...}class ReportDocument{ ReportInfo reportInfo; List<View> views = new List<View>(); public void SetParameters(int a, int b) { recalculateReportBasedOnParams(a, b); foreach (View v in views) v.HandleChange(reportInfo); } ...}
void HandleChange(ReportInfo reportInfo);
public void HandleChange(ReportInfo reportInfo) { ... }
public void HandleChange(ReportInfo reportInfo)
v.HandleChange(reportInfo);
interface View{ void Update();}class DetailsView: View{ public void Update() { ... } public UpdateReportDetails(ReportInfo report) { ... } ...}class SummaryView: View{ public void Update() { ... } public UpdateReportSummary(ReportInfo report) { ... } ...}class ReportDocument{ ReportInfo reportInfo; View detailsView; View summaryView; public void SetParameters(int a, int b) { recalculateReportBasedOnParams(a, b); summaryView.DisplayReportSummary(reportInfo); detailsView.DetailsView(reportInfo); } ...}
public void Update() { ... }
public UpdateReportDetails(ReportInfo report) { ... }
public UpdateReportSummary(ReportInfo report) { ... }
View detailsView;
View summaryView;
summaryView.DisplayReportSummary(reportInfo);
detailsView.DetailsView(reportInfo);
Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!