: Software evolves as requirements or technologies change. Tremendous efforts are often needed to support software evolution as evolution may involve reverse engineering and subsequent restructuring or forward engineering. Design patterns have captured great attentions as they provide rapid transfer of proven solutions. The paper presents an experimental study of applying design patterns to restructuring in communications software. The restructured software not only satisfies the new functional requirements, but also increases the performance. The paper demonstrates the benefit by showing concrete performance results to support the improvement. Keywords : software evolution, restructuring, networks, design patterns, software performance engineering, quality of service, modeling