Adapter Design Pattern in Rust

Adapter pattern works as a bridge between two incompatible interfaces. This type of design pattern comes under structural pattern as this pattern combines the capability of two independent interfaces.

The adapter pattern makes two incompatible interfaces compatible without changing their existing code

struct Banner {
	string: String,
}

impl Banner { fn new(string: String) -> Banner { Banner { string: string, } }
fn show_with_paren(&self) { println!("({})", self.string); }
fn show_with_aster(&self) { println!("*{}*", self.string); } }

struct PrintBanner { banner: Banner, }

impl PrintBanner { fn new(string: String) -> PrintBanner { PrintBanner { banner: Banner::new(string), } }
fn print_weak(&self) { self.banner.show_with_paren(); }
fn print_strong(&self) { self.banner.show_with_aster(); } }

fn main() { let p = PrintBanner::new("Hello".to_string()); p.print_weak(); p.print_strong(); }

Comment / Suggestion Section
Point our Mistakes and Post Your Suggestions

Subscribe to See Videos

Subscribe to my Youtube channel for new videos : Subscribe Now