Layering Divide a task into pieces and then solve each piece independently (or nearly so) Establishing a well-defined interface between layers makes porting easier Major advantages ◆ Code reuse ◆ Extensibility CSIE NTUT TANANCSIE, NTUT, TAIWAN 4 Layering • Divide a task into pieces and then solve each piece independently (or nearly so). • Establishing a well-defined interface between layers makes porting easier. • Major Advantages: Code Reuse Extensibility