JAVA의 결합은 a의 지표입니다. 객체 지향 환경에서 한 클래스가 다른 클래스에 대한 종속성 b. 개발자가 최종 사용자의 요구 사항을 충족하기 위해 다양한 클래스에 걸쳐 코드를 변경하는 유연성 수준 c. 한 클래스의 기능이 다른 클래스에서 사용되는 방식: 직접 또는 외부 인터페이스의 도움을 받아 d. 실행 후 코드를 유지하는 데 필요한 노력, e. 제어 반전 및 종속성 주입과 같은 혁신적인 소프트웨어 기술을 사용하여 코딩 및 테스트에 더 많은 유연성을 주입하는 방식 코드입니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
자바에는 크게 두 가지 결합이 있는데, 이를 자세히 분석해 보겠습니다.
객체 지향 애플리케이션 설계에서는 이미 투자한 노력을 재사용하고 바퀴를 재발명하지 않기 위해 항상 한 클래스에서 개발된 논리를 다른 클래스에서 활용해야 합니다.
클래스 간 직접적인 협업으로 긴밀한 결합이 이루어지며, 특징은
밀접결합 예시
이 예에서 두 개의 협력 클래스인 'Ordervalue'와 'order'는 상호 의존적입니다. 호출 클래스 "Ordervalue"는 호출 클래스 "order"에 코딩된 비즈니스 논리를 그에 따라 알고 있으며, 호출 클래스의 코드는 구조화되어 있으며, 호출 클래스의 모든 변경 사항은 프로그램 결과를 뒤바꿉니다.
따라서 "Ordervalue" 클래스와 "Order" 클래스가 밀접하게 결합되어 있다고 결론을 내릴 수 있습니다.
코드:
// Tight Coupling - Sample program public class ordervalue // Calling class { public static void main(String args[]) // method in the class { order b = new order(600,5); // creating object for the called class System.out.println("value of the order is"); // order and execute it System.out.println(b.value); // Prints the order value computed by } // the called class } class order // Called class { public int value; // method in the class order(int orderquantity, int rate) // business logic { this.value = orderquantity * rate; // computing the value } }
출력:
이 개념에서는 OOPS에서 비즈니스 로직과 공통 기능을 공유하기 위해 협력해야 하는 클래스가 외부 소스를 통해 결합됩니다. 따라서 느슨하게 또는 간접적으로 서로 연결되어 있습니다.
느슨한 결합의 주요 특성은
제어 반전(IOC)
프로그램 모듈이나 객체에 대한 제어권을 컨테이너 프레임워크로 넘기는 개념이다. 이 개념은 OOPS에서 꽤 자주 사용됩니다. 라이브러리를 호출하는 프로그램 코드 대신 컨테이너 프레임워크가 제어 및 호출 코드를 대신합니다. 종속성을 생성하는 객체와 마찬가지로 종속성이 객체에 주입됩니다.
이 개념은 프로그래밍에서 느슨한 결합과 모듈성을 촉진합니다.
의존성 주입(DI)
DI는 IOC 개념을 사용하는 수단이며 개체 종속성을 설정할 때 제어 전송이 발생합니다.
느슨한 결합의 예
In the example, three Classes, “month1”, “month2”, “month3” are independent modules, and they collaborate little with each other through an interface “iface”. As a result, these classes have very little knowledge of the other classes on what they are doing. They only know that all the classes are interacting with an interface.
There is no object created using the other classes in any of these classes, and they are the typical examples of loose coupling.
Code:
// Loose Coupling in JAVA - Sample Program interface Iface //Interface is defined { public void monthname(); //module within the interface } class month1 implements Iface { // Class interacts through public void monthname() // interface { System.out.println("January"); } } class month2 implements Iface { // Class interacts through public void monthname() // interface { System.out.println("Feburary"); } } class month3 implements Iface { // Class interacts through public void monthname() // interface { System.out.println("March"); } } public class Subject { // Execution starts here public static void main(String[] args) { Iface t = new month1(); // First class called thru t.monthname(); // interface Iface tx = new month2(); // Second class called thru tx.monthname(); // interface Iface tx2 = new month3(); // Third class called thru tx2.monthname(); } // interface }
Output:
As far as possible, applications will have to be designed to hold only loose couplings for better maintainability and serviceability and keep interdependence between program components very minimal. However, if interdependence is a must, the components will have to be connected only through the interface.
위 내용은 자바의 결합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!