Java Code Base Improvement Specialist (Java Developer)
Budget: $10 – $30 USD
Overview:
We are looking for an experienced Java developer to refactor an existing code base to incorporate several design patterns and improve overall code quality. This project involves enhancing the structure and maintainability of the code by integrating various design patterns, such as Dependency Injection (DI) using Google Guice, Listener, Builder, Singleton, and, optionally, Factory design patterns. The ideal candidate should understand these patterns strongly and have experience refactoring legacy code.
Key Responsibilities:
1. Refactor Service Classes with DI Pattern:
- Utilize Google Guice API to implement Dependency Injection across all service classes.
- Ensure that all dependencies are injected and managed by the Guice framework.
2. Apply Listener Design Pattern:
- Implement the Listener design pattern for the functionality specified in Requirement 7 of the original assignment.
- Please make sure that the listener mechanism is properly integrated and functional.
3. Immutable Domain Objects with Builder Pattern:
- Refactor domain object classes (e.g., books, videos) to be immutable.
- Use the Builder design pattern to facilitate the creation of these immutable objects.
4. Incorporate Singleton Design Pattern:
- Apply the Singleton design pattern where applicable to ensure a single instance of specific classes.
- Ensure thread safety and lazy initialization as required.
5. Java Package Organization:
- Organize classes into appropriate Java packages to enhance modularity and readability.
- Ensure a logical structure that aligns with best practices in package naming and class allocation.
6. UML Class Diagram:
- Create and provide a UML class diagram reflecting the new code structure and design patterns.
- Ensure that the diagram is comprehensive and accurate.
Bonus: (This is needed for the code)
- Provide an additional variant of the code base that utilizes the Factory design pattern and DI.
- Document and highlight the differences between the DI and Factory pattern implementations.
Qualifications:
- Proven experience in Java development and software design.
- Strong understanding and practical experience with design patterns (DI, Listener, Builder, Singleton, Factory).
- Proficiency with Google Guice or similar DI frameworks.
- Experience with refactoring legacy code and improving code quality.
- Ability to create detailed UML class diagrams.
- Strong organizational skills and attention to detail.
Feel free to tailor this job description further based on specific requirements or preferences.
We are looking for an experienced Java developer to refactor an existing code base to incorporate several design patterns and improve overall code quality. This project involves enhancing the structure and maintainability of the code by integrating various design patterns, such as Dependency Injection (DI) using Google Guice, Listener, Builder, Singleton, and, optionally, Factory design patterns. The ideal candidate should understand these patterns strongly and have experience refactoring legacy code.
Key Responsibilities:
1. Refactor Service Classes with DI Pattern:
- Utilize Google Guice API to implement Dependency Injection across all service classes.
- Ensure that all dependencies are injected and managed by the Guice framework.
2. Apply Listener Design Pattern:
- Implement the Listener design pattern for the functionality specified in Requirement 7 of the original assignment.
- Please make sure that the listener mechanism is properly integrated and functional.
3. Immutable Domain Objects with Builder Pattern:
- Refactor domain object classes (e.g., books, videos) to be immutable.
- Use the Builder design pattern to facilitate the creation of these immutable objects.
4. Incorporate Singleton Design Pattern:
- Apply the Singleton design pattern where applicable to ensure a single instance of specific classes.
- Ensure thread safety and lazy initialization as required.
5. Java Package Organization:
- Organize classes into appropriate Java packages to enhance modularity and readability.
- Ensure a logical structure that aligns with best practices in package naming and class allocation.
6. UML Class Diagram:
- Create and provide a UML class diagram reflecting the new code structure and design patterns.
- Ensure that the diagram is comprehensive and accurate.
Bonus: (This is needed for the code)
- Provide an additional variant of the code base that utilizes the Factory design pattern and DI.
- Document and highlight the differences between the DI and Factory pattern implementations.
Qualifications:
- Proven experience in Java development and software design.
- Strong understanding and practical experience with design patterns (DI, Listener, Builder, Singleton, Factory).
- Proficiency with Google Guice or similar DI frameworks.
- Experience with refactoring legacy code and improving code quality.
- Ability to create detailed UML class diagrams.
- Strong organizational skills and attention to detail.
Feel free to tailor this job description further based on specific requirements or preferences.
Related categories:
Business, Accounting, Human Resources & Legal
JavaScript
J2EE
JavaFX
Software Architecture