최상의 답변
절차 적 추상화는 방법이나 절차가 무엇을하는지 또는 우리가 원하는 것이 무엇인지 알고 있지만 어떻게해야하는지 알 수 없을 때입니다. 그것은 그것을합니다.
지금 Quora에이 답변을 입력하고 있으며 제출을 클릭하면 피드에 표시 될 것으로 예상합니다. 내 대답을 받아들이는 방법이 있다는 것을 알고 어딘가에 저장하십시오. 하지만 어떻게 구현되는지 잘 모르겠습니다.
이것을 Java에 적용하면 다양한 Java 패키지에서 많은 방법을 사용하게됩니다. 예를 들어 문자열의 하위 문자열을 인쇄하려는 경우
String str=”Hello world”
String s1=str.substring(0,6);
이제 위의 코드에서 하위 문자열 메서드가 문자열에서 처음부터 6 번째 문자까지의 부분을 반환하도록합니다. 하지만 하위 문자열 메서드가이 기능을 어떻게 구현하는지, 저는 전혀 몰랐으며 저에게 중요하지도 않습니다.
Answer
추상화는 여러 가지를 다루는 일반적인 개념입니다. .
HTML은 기본 언어이며 웹 개발을 수행해야하는 경우 기능적 기능이 거의없는 일반적인 페이지를 만들 계획이 아니라면 HTML을 배워야합니다.
언젠가는 시간이 지나면 HTML을보고 추상화가 무엇을 잘못했는지 알아 내야합니다.
추상화 (일반) :
- 추상화 레이어는 처리 속도에 비용이 듭니다.
- 많은 사람에게는 큰 문제는 아니지만 빠르게 합산되기 시작할 수 있습니다.
- 루비로 작성된 애플리케이션을 다시 작성했습니다. 추상화 된 목록을로드하는 데 몇 시간이 걸렸고 (문자 그대로) Java로 다시 작성하여 약 3 분으로 바꾸고 데이터베이스에 키를 추가하고 몇 초로 단축했습니다.
- A PHP 로드하는 데 2 분이 걸린 페이지, PHP로 재 작성한 후 3 ~ 4 초가 걸렸고 데이터베이스를 엉망으로 만들면 2 초로 떨어졌습니다. (로드 시간의 90 \%는 그 이후의 프레임 워크였으며 이는 프레임 워크가 좋지 않음을 의미합니다.)
- 공통 요인은 추상화 수준을 크게 줄였습니다. Python은 PHP와 같은 스크립트 언어로 매번 추상화 계층을 다시 빌드해야하며 비용이 많이들 수 있습니다.
- 디버그 / 팔로우하기가 더 어려워 질 수 있습니다. 추상화는 일반적으로 단위 (클래스 또는 메서드)를 따라 가기 쉽게하지만 전체 (통합)와 연결되는 방식을보기 어렵습니다. 이러한 버그는 이동하여 찾기가 더 어려워지기 때문입니다.
- 켜기 플러스, 버그 가능성이 적습니다. 발견되었을 때 더 멋지게 보이는 경향이 있습니다.
- 개발 속도를 높이는 경향이 있지만 (특정 지점까지) 너무 많으면 개발 속도가 느려질 수 있습니다. Zend 프레임 워크 (PHP), Spring (Java)과 같은 무거운 프레임 워크는 기본적으로 오버 엔지니어링 된 무거운 핸드 드 프레임 워크의 좋은 예입니다.
이것이 여러분에게 아이디어를 제공하기를 바랍니다.