/////////////////////////////////////////////////////////////// // Abstr.cpp - Example of Bridge Design Pattern // // using a manufacturing analogy // // ver 1.0 // // Language: Visual C++, ver 6.0 // // Platform: Dell XPS1000r, Windows 2000 Professional // // Application: Design Patterns Presentation, Summer 2001 // // Author: Jim Fawcett, CST 2-187, Syracuse Univ. // // jfawcett@twcny.rr.com // // Source: John DeMar, Link 210, Syracuse Univ. // // jsdemar@syr.edu // /////////////////////////////////////////////////////////////// #include #include "Abstr.h" #include "Impl.h" using namespace std; void MakeType1Assembly::Load(void) { cout << "Type 1 Load Operation:" << endl; _imp->LoaderCmd(); } void MakeType1Assembly::Fabricate(void) { cout << "Type 1 Fabricate Operation" << endl; _imp->DrillStationCmd(); _imp->DrillStationCmd(); _imp->DrillStationCmd(); _imp->StampStationCmd(); } void MakeType1Assembly::Test(void) { cout << "Type 1 Test Operation" << endl; _imp->TesterCmd(); } void MakeType1Assembly::Unload(void) { cout << "Type 1 Unload Operation" << endl; _imp->UnloaderCmd(); } void MakeType2Assembly::Load(void) { cout << "Type 2 Load Operation" << endl; _imp->LoaderCmd(); } void MakeType2Assembly::Fabricate(void) { cout << "Type 2 Fabricate Operation" << endl; _imp->DrillStationCmd(); _imp->StampStationCmd(); _imp->StampStationCmd(); } void MakeType2Assembly::Test(void) { cout << "Type 2 Test Operation" << endl; _imp->TesterCmd(); } void MakeType2Assembly::Unload(void) { cout << "Type 2 Unload Operation" << endl; _imp->UnloaderCmd(); }