import java.util.ArrayList; import java.util.List; // Functional Cohesion Example class UserAuthentication { private String username; private String password; public UserAuthentication(String username, String password) { this.username = username; this.password = password; } public String hashPassword() { // Hash the password return "hashed_" + password; } public boolean checkPasswordStrength() { // Check if the password meets security requirements return password.length() >= 8; } public boolean authenticate() { // Authenticate the user return username != null && password != null; } } // Sequential Cohesion Example class OrderProcessor { public Order processOrder(Order order) { Order validatedOrder = validateOrder(order); Order calculatedOrder = calculateTotal(validatedOrder); return submitOrder(calculatedOrder); } private Order validateOrder(Order order) { // Validate the order order.setValid(true); return order; } private Order calculateTotal(Order order) { // Calculate the total price order.setTotal(100.0); // Dummy calculation return order; } private Order submitOrder(Order order) { // Submit the order to the system order.setSubmitted(true); return order; } } // Communicational Cohesion Example class UserManager { private User userData; public UserManager(User userData) { this.userData = userData; } public boolean validateUser() { // Validate user data return userData.getName() != null && userData.getEmail() != null; } public void saveUser() { // Save user to database System.out.println("User saved: " + userData.getName()); } public void sendWelcomeEmail() { // Send welcome email to user System.out.println("Welcome email sent to: " + userData.getEmail()); } } // Helper classes for the examples class Order { private boolean isValid; private double total; private boolean isSubmitted; public void setValid(boolean valid) { this.isValid = valid; } public void setTotal(double total) { this.total = total; } public void setSubmitted(boolean submitted) { this.isSubmitted = submitted; } } class User { private String name; private String email; public User(String name, String email) { this.name = name; this.email = email; } public String getName() { return name; } public String getEmail() { return email; } } public class CohesionExamples { public static void main(String[] args) { // Functional Cohesion UserAuthentication auth = new UserAuthentication("user1", "password123"); System.out.println("Password hashed: " + auth.hashPassword()); System.out.println("Password strength: " + auth.checkPasswordStrength()); System.out.println("User authenticated: " + auth.authenticate()); // Sequential Cohesion OrderProcessor processor = new OrderProcessor(); Order order = new Order(); Order processedOrder = processor.processOrder(order); System.out.println("Order processed successfully."); // Communicational Cohesion User user = new User("John Doe", "john@example.com"); UserManager userManager = new UserManager(user); System.out.println("User valid: " + userManager.validateUser()); userManager.saveUser(); userManager.sendWelcomeEmail(); System.out.println("Cohesion examples created successfully."); } }