내부 플랫폼 효과

Inner-platform effect

내부 플랫폼 효과는 소프트웨어 설계자가 사용 중인 소프트웨어 개발 플랫폼의 복제품이 될 정도로 맞춤 가능한 시스템을 만드는 경향입니다.이는 일반적으로 비효율적이며 이러한 시스템은 안티패턴의 예로 간주되는 경우가 많습니다.

예를 들어 일부 텍스트 에디터나 웹 브라우저 의 플러그인 기반 소프트웨어에서 볼 수 있습니다.이러한 소프트웨어에서는 개발자는 보통 운영체제 자체에서 실행되는 소프트웨어를 재작성하는 플러그인을 작성할 수 있습니다.파이어폭스 애드온메커니즘은 다수FTP 클라이언트와 파일브라우저를 개발하기 위해 사용되어 왔습니다.이러한 브라우저는 비록 제한된 플랫폼이지만 운영체제의 일부 기능을 효과적으로 복제합니다.

데이터베이스 세계에서 개발자는 엔티티 ID, 키 및 값이라는 라벨이 붙은 3개컬럼이 있는 하나의 큰 테이블에 모든 을 저장하는 등 RDBMS를 우회하는 경우가 있습니다.entity-attribute-value 모델은 개발자가 SQL 데이터베이스에 의해 강요된 구조에서 벗어날 수 있도록 하지만 RDBMS에 의해 효율적으로 수행될 수 있는 모든 작업이 대신 애플리케이션에 강제되기 때문에 모든 이점을 [1]잃게 됩니다.쿼리가 훨씬 [2]복잡해지고 인덱스 쿼리 최적화 프로그램이 더 이상 효과적으로 작동하지 않으며 데이터 유효성 제약이 적용되지 않습니다.퍼포먼스와 유지보수가 매우 저조할 수 있습니다.

XML에서도 비슷한 유혹이 존재하며 개발자는 범용 요소 이름을 선호하고 속성을 사용하여 의미 있는 정보를 저장할 수 있습니다.예를 들어, 모든 요소에 항목 이름이 지정되고 속성 유형과 값이 있을 수 있습니다.이 연습에서는 의미를 추출하기 위해 여러 Atribute에 걸친 Join이 필요합니다. 결과 XPath 표현은 더 복잡해지고, 평가 효율은 떨어지며, 구조 검증은 거의 이점을 제공하지 않습니다.

하나의 예는 웹 데스크톱의 현상으로, 웹 브라우저를 포함한 전체 데스크톱 환경이 브라우저 내에서 실행됩니다(일반적으로 운영 체제가 제공하는 데스크톱 환경 내에서 실행됨).데스크톱 내의 데스크톱은 사용자에게 매우 불편할 수 있습니다.따라서 이 작업은 일반적으로 최종 사용자 시스템에 쉽게 도입할 수 없는 프로그램을 실행하거나 외부 데스크톱을 숨겨야 합니다.

영향

소프트웨어 개발자는 자신의 특정 프로젝트와 관련된 커스텀 기능의 라이브러리를 작성하는 것이 일반적입니다.내부 플랫폼 효과는 이 라이브러리가 확장되어 프로그래밍 언어 또는 플랫폼의 일부로 이미 사용 가능한 기능을 복제하는 범용 함수를 포함할 때 발생합니다.이러한 새로운 함수는 일반적으로 여러 개의 원래 함수를 호출하기 때문에 속도가 느려지는 경향이 있으며 코드화가 제대로 되지 않으면 신뢰성이 떨어집니다.[citation needed]

한편, 이러한 함수는, 인터페이스가 서툴거나, 너무 복잡하거나, 이식성이 없거나, 또는 단순히 높은 레벨의 애플리케이션 코드에 적합하지 않은 하위 레벨의 서비스 위에, 보다 심플한(그리고, 보다 휴대성이 높은) 추상화 레이어를 제공하기 위해서 작성되는 경우가 많습니다.

적절한 용도

즉, 내부 플랫폼이 관리하는 샌드박스 외부에 영향을 주지 않고 다양한 외부 플랫폼에서 동일한 애플리케이션을 실행할 수 있도록 내부 플랫폼은 이식성과 권한 분리를 위해 유용합니다.예를 들어 Sun Microsystems는 이 두 가지 목표를 모두 충족하도록 Java 플랫폼을 설계했습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Celko, Joe (1 February 2011). "Look-up Tables in SQL". Archived from the original on 23 September 2016. Retrieved 25 April 2016.
  2. ^ Peterson, Don (8 September 2004). "Lookup Table Madness". Archived from the original on 10 August 2018. Retrieved 25 April 2016.