![]() |
▒ yong27의 생각들 ▒ | ![]() |
![]() ![]() ![]() | |
![]() ![]() 얼마전 풀었던 EightQueenProblem 이랑 ( http://biohackers.net/wiki/EightQueenProblem ), 하루한시간씩 투자하고 있는 Design patterns 스터디를 통해서 아싸~ 재밌게 OOP를 익히고 있다. OOP를 잘 이용하기 위해선, 문제를 풀고자 할때 그 문제속에 등장하는 객체들을 잘 선별하고, 그 객체에게 책임을 떠넘기는거다. 가령, reverse complement를 구현한다 하면, 일단 보이는 객체는 서열이다. 그리고 그 객체가 하는 대표적인 일은 자신의 서열을 뒤집는거다. 따라서, Class Seq: def reverse(self): self.seq.reverse() 따위로 구현될 수 있다. 뒤집는건 그 객체가 하는일이다. 또 느끼는 점 한가지. June씨도 강조하는 것이기도 한데 리팩토링을 하다보면 자동적으로 Design patterns가 나타난다는것... 중요한것은 incremental development이란얘기... 음미해 볼만 하다. 생물정보학문제를 풀면서 과연 OOP가 도움될까 하는 의구심이 있을 수 있으나, 이건 문제를 바라보는 또다른 시각을 제공할 수 있다고 하니 그게 장점일 수 있고, (Procedual 이나 OO 나 모두 상호 변환가능하다고 하니..) 나중에 세포모델링같은 임무가 주어진다면 요긴하게 쓰일것 같다. 다 떠나서, OOP는 프로그래밍의 추세다 보니, 익혀서 손해볼건 없다. |
![]() ![]() ![]() ![]() ![]() |
번호 | 제 목 | 이름 | 첨부 | 작성일 | 조회 | |
58 | ![]() |
ghost | 546 | |||
57 | ![]() |
yong27 | 610 | |||
56 | ![]() |
yong27 | 569 | |||
55 | ![]() |
yong27 | 552 | |||
54 | ![]() |
yong27 | 587 | |||
53 | ![]() |
yong27 | 544 | |||
52 | ![]() |
yong27 | 539 | |||
51 | ![]() |
1 | yong27 | 638 | ||
50 | ![]() |
김청일 | 636 | |||
49 | ![]() |
4 | yong27 | 931 | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |