분류 전체보기 (129) 썸네일형 리스트형 Singleton Pattern 싱글턴 패턴 인스턴스가 하나뿐인 특별한 객체를 만들 수 있게 해 주는 패턴. 특정 클래스에 대해서 객체 인스턴스가 하나만 만들어질 수 있도록 한다. 객체 중에 하나만 있어야 하는것이 있다. 예를들면 스레드 풀, 캐시, 대화상자, 레지스트리 설정을 처리하는 객체, 로그 기록용 객체, 디바이스를 위한 디바이스 드라이버 등. 인스턴스가 두개 이상 만들어지면 일관성이 없어지거나 자원을 불필요하게 잡아먹을수 있다. 어떻게 하면 한 클래스의 인스턴스가 두개 이상 만들어지지 않도록 할 수 있을까? 고전적인 싱글턴 패턴 구현법 public class Singleton { // Singletno 클래스의 인스턴스를 저장하기 위한 정적 변수. private static Singleton uniqueInstance; // 생성자를 pr.. Insertion Sort Builds up the sort by gradually creating a larger left half which is always sorted taking an element one at a time and inserting it in the correct spot. Insertion Sort Pseudocode Start by picking the second element in the array Now compare the second element with the one before it and swap if necessary. Continue to the next element and if it is in the incorrect order, iterate through the sorted .. Selection Sort similar to bubble sort. but instead of first placing large values into sorted position, the actual sorted data is accumulating at the beginning. Selection Sort Pseudocode Store the firtst element as the smallest vlaue you've seen so far. Compare this item to the next item in the array until you find a smaller number If a smaller number is found, designate that smaller number to be the new 'minim.. Bubble Sort Sotring is the process of rearranging the itmes in a collection so that the items are in some kind of order. it is common task. may different ways to sort thing and each has own defferent pros and cons. Built-In JavaScript Sorting it always doesn't work how we expect it should JavaScript Sort() method takes evety item that array is converted to a string and then the Unicode value of that is take.. Factory Pattern 팩토리 패턴 www.oreilly.com/library/view/head-first-design/0596007124/ch04.html 느슨한 결합을 이용하는 객체지향 디자인 불필요한 의존성을 없애는 방법 new를 사용하는 것은 구상 클래스의 인스턴스를 만드는 것 구상클래스를 바탕으로 코딩을 하면 나중에 수정할 가능성이 많아지고 유연성이 떨어지게 된다. - 바뀌는 부분을 찾아내 분리하자. - 객체 생성부분을 캡슐화. 장점은? -> 다양한 객체 생성 작업을 하는 클래스로 캡슐화해 놓으면 구현을 변경해야할 경우 이 클래스만 변경 해주면 됨. 정적 팩토리 메소드와 다른점은? -> 간단한 팩토리를 정적 메소드로 정의하는 기법. 정적 메소드를 쓰면 객체를 생성하기 위한 메소드를 실생시키기 위해 객체의 인스턴스를 만들지 않아도 .. Searching Algorithms Intro to Linear Search -> Checking every single thing at a set interval on item at a time -> many different search methods on arrays in JavaScript - indexOf, includes, find, findIndex Linear Search Pseudocode Loop through the array and check if the current array element is equal to the value If it is, return the index at which the element is found If the value is never found, return -1 Linear Se.. 데코레이터 패턴 객체 꾸미기 상속을 남용하는 전형적인 예를 살펴보고 객체 작성이라는 형식으로 실행중에 클래스를 꾸미는 (데코레이션) 방법 데코레이터 패턴을 알면 원래 클래스의 코드는 바꾸지 않고도 다른사람이 만든 객체에 새로운 임무를 부여할 수 있다. 스타버즈 커피샵. 다양한 음료들을 모두 포괄하는 주문 시스템. Beverage 클래스는 추상클래스이며 각 서브클래스에서 description 인스턴스 변수와 cost() 를 구현한다. 그러나 다양한 옵션이 추가될경우 가격이 변동되기 때문에 너무 많은 클래스를 만들어야 한다. 그래서 음료에 추가되는 여러 옵션 인스턴트 변수를 추가하자. 추가 요소에 해당하는 Boolean 변수 추가. cost() 를 구현해 기본음료값에 추가비용을 합친 총 가격을 리턴한다. 하지만 추가요소 가.. Recursion basic idea is taking one problem and doing it over and over on a smaller piece or on a chaning piece until you hit some endpoint which we call the base case. Recursion is different way of thinking about writing solution. can choose a solution iterative way or recursive way. A process that calls itself. ex) JSON.parse / JSON.stringify document.getElementById Object traversal the call stack - it i.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 17 다음