我在學習spring framework。我從網站上看了很多教程,但是我無法得到他們的解釋。請用簡單的方式簡單地解釋我。我們在哪裏使用彈簧框架實現鬆耦合?
在這裏,我把工廠設計模式,實現鬆散耦合和我們如何使用在春季這種設計模式了。
我無法得到這一點(句子)「這種模式提供了創建對象的最佳方式之一」。
public interface Shape { void draw(); } public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); } } public class Square implements Shape { @Override public void draw() { System.out.println("Inside Square::draw() method."); } } public class Circle implements Shape { @Override public void draw() { System.out.println("Inside Circle::draw() method."); } } public class ShapeFactory { //use getShape method to get object of type shape public Shape getShape(String shapeType){ if(shapeType == null){ return null; } if(shapeType.equalsIgnoreCase("CIRCLE")){ return new Circle(); } else if(shapeType.equalsIgnoreCase("RECTANGLE")){ return new Rectangle(); } else if(shapeType.equalsIgnoreCase("SQUARE")){ return new Square(); } return null; } } public class FactoryPatternDemo { public static void main(String[] args) { ShapeFactory shapeFactory = new ShapeFactory(); //get an object of Circle and call its draw method. Shape shape1 = shapeFactory.getShape("CIRCLE"); //call draw method of Circle shape1.draw(); //get an object of Rectangle and call its draw method. Shape shape2 = shapeFactory.getShape("RECTANGLE"); //call draw method of Rectangle shape2.draw(); //get an object of Square and call its draw method. Shape shape3 = shapeFactory.getShape("SQUARE"); //call draw method of circle shape3.draw(); } }
OUTPUT:
Inside Circle::draw() method. Inside Rectangle::draw() method. Inside Square::draw() method.
你在哪裏這裏實現鬆耦合? –
隨着春天。 1)'ApplicationContext'是一個Spring類。客戶端耦合到它而不是你的工廠類。 2)'形狀()'可以簡單地模擬。 – davidxxx
你能告訴我任何鬆散耦合的例子嗎? –