Pada pengembangan perangkat lunak secara iterative dan incremental, terjadi perubahan pada komponen-komponen berbeda dalam codebase pada setiap iterasinya. Sehingga dibutuhkan sistem yang modular untuk mengakomodir perubahan-perubahan tersebut dengan mudah. Dalam usaha untuk meningkatkan modularitas, pengembang perangkat lunak umumnya mengunakan design pattern dalam refactoring sebagai salah satu solusi. Namun dalam penerapan design pattern, seringkali trial and error digunakan untuk menentukan komponen yang akan di-refactor. Salah satu cara untuk menentukan komponen yang dapat di¬-refactor adalah dengan memanfaatkan co-changes untuk mengetahui komponen-komponen yang dikategorikan sebagai evolutionary smell. Namun saat ini, metode tersebut hanya diterapkan dengan menggunakan refactoring yang sederhana. Penelitian ini berfokus untuk mencari tahu dampak implementasi bridge design pattern dengan memanfaatkan co-changes. Penelitian dilakukan dengan membangun fine-grained co-changes clusters dan menentukan komponen-komponen yang dikategorikan sebagai evolutionary smell dari clusters yang dibangun. Komponen-komponen tersebut kemudian di-refactor menggunakan bridge design pattern. Dengan membandingkan object oriented metrics sebelum dan sesudah refactoring untuk mengetahui pengaruh dari refactor yang dilakukan. Analisis object oriented metrics menunjukkan bahwa terdapat perbaikan pada cohesion (LCOM) sebesar 1 hingga 246, dan penurunan kompleksitas (WCM) sebesar 1 hingga 34. Namun, implementasi bridge design pattern dapat menurunkan atau justru meningkatkan tingkat coupling (CBO) sebanyak 1 hingga 2 bergantung dari apakah masih terdapat dependency lain diluar dari class pada struktur bridge design pattern yang diterapkan. Selain itu, Penerapan bridge design pattern dapat menyebabkan potensi co-changes dependency. Penelitian ini juga menemukan bahwa mayoritas dari komponen yang dikategorikan sebagai evolutionary smell memiliki fungsionalitas sebagai sumber data.