E D R , A S I H C RSS

Full text search for "Object"

Object


Search BackLinks only
Display context of search results
Case-sensitive searching
  • MoreEffectiveC++/Techniques2of3 . . . . 72 matches
          // if we're sharing a value with other String objects,
         제일 처음에 해야 할일은 참조세기가 적용된 객체를 위한 (reference-counded object) RCObject같은 기초 클래스를 만드는 것이다. 어떠한 클라스라도 이 클래스를 상속받으면 자동적으로 참조세기의 기능이 구현되는 형식을 바라는 것이다. 그러기 위해서는 RCObject가 가지고 있어야 하는 능력은 카운터에 대한 증감에 대한 능력일 것이다. 게다가 더 이상, 사용이 필요 없는 시점에서는 파괴되어야 한것이다. 다시말해, 파괴되는 시점은 카운터의 인자가 0이 될때이다. 그리고 공유 허용 플래그에 대한(shareable flag) 관한 것은, 현재가 공유 가능한 상태인지 검증하는 메소드와, 공유를 묶어 버리는 메소드, 이렇게만 있으면 될것이다. 공유를 푼다는 것은 지금까지의 생각으로는 불가능한 것이기 때문이다.
         class RCObject {
          RCObject();
          RCObject(const RCObject& rhs);
          RCObject& operator=(const RCObject& rhs);
          virtual ~RCObject() = 0;
         RCObject는 생성되고, 파괴되어 질수 있어야 한다. 새로운 참조가 추가되면 현재의 참조는 제거되어야 한다. 공유 상태에 대해 여부를 알수 있어야 하며, disable로 설정할수 있어야 한다. 파괴자에 대한 실수를 방지하기 위하여 베이스 클래스는 파괴자를 가상 함수로선언해야 된다. 여기에서는 순수 가상 함수(pure virtual function)로 선언한다.
         다음 코드가 RCObject를 별 예외 없다는 전제로, 지금까지의 생각들을 간단히 구현한 코드이다.
         RCObject::RCObject()
         RCObject::RCObject(const RCObject&)
         RCObject& RCObject::operator=(const RCObject&)
         RCObject::~RCObject() {} // 파괴자는 그것이 순수 가상 함수라도
         void RCObject::addReference() { ++refCount; }
         void RCObject::removeReference()
         void RCObject::markUnshareable()
         bool RCObject::isShareable() const
         bool RCObject::isShared() const
         의문 하나, 흥미롭게도 처음에 refCount를 0으로 세팅한다. 이건 직관적이지 못하게 보이는데, 확실히 새로 만들어지는 RCObject의 생성자는 새로 만들어진 RCObject를 참조하고 있을 것이기 때문이다. 하지만 이러한 이유는, 새로운 객체가 할당된 뒤에 유도된 클래스 스스로, refCount를 증가 시켜주기위해서 이다. 이것이 사용자에게 더 명시적인 코드를 작성하게 된다.
         자, RCObject는 기초 클래스이며, 차후 데이터를 저장하는 공간은 RCObject의 자식에게서 구현되어 진다. 그래서 opreator=은 유도 된 클래스에서 원할때 이 참조 객체를 바꾸기 위하여, RCObject::operator= 형식으로 불러야 한다. 이하, 거의다 소스 자체를 이해해야 한다. 해당 RCObject를 이용해서 유도된 클래스의 모양은 다음과 같으며, 모든 코드는 구현하지 않겠지만, 지금까지의 개념으로 이해할수 있을 것이다.
  • MoreEffectiveC++/Techniques1of3 . . . . 59 matches
          다음에 추가될 인자 객체(component object)를 str로 부터 읽는다.
         == Item 26: Limiting the number of objects of a class ==
          === Allowing Zero or One Objects : 0 혹은 하나의 객체 만을 허용하는 방법 ===
          static Printer p; // 단일의 Printer 객체(the single printer object)
          class TooManyObjects{}; // 너무 많은 객체를 요구하면
          static size_t numObjects;
         이런 아이디어는 numObject를 사용해서 Printer객체의 수를 제한 시켜 버리는 것이다. 위에도 언급하였듯이 객체의 수가 1개를 초과하면, TooManyObject 예외를 발생시킨다.
         size_t Printer::numObjects = 0;
          if (numObjects >= 1) {
          throw TooManyObjects();
          ++numObjects;
          --numObjects;
          === Context for Object Construction : 객체의 생성을 위한 구문(관계, 문맥, 상황) ===
         첫번째 객체 p는 순조로히 생성된다. 하지만 엄연히 다른 프린터를 대상으로 하고 있는 cp는 생성되지 않고, TooManyObjects 예외를 발생 시킨다. 왜 그러는지 모두들 예상 할것이다. 더불어 비슷 또 다른 경우를 생각 해 본다면.
         CPFMachine m2; // TooManyObjects 예외를 발생 시킨다.
          === Allowing Objects to Come and Go : 객체가 오고 감을 허용하기? ===
         create Printer object p1;
         create Printer object p2;
         이런 디자인은 단일 Printer객체에 관해서 행하여 질수는 없다. 하지만 서로 다른 프로그램의 서로 다른 부분에서 Printer객체는 이렇게 사용되어 질수 있다. 이것 역시 허용하지 못하게하는 것까지는 필요 없을것 같은데, 아무튼 오직 하나의 프린터 객체만 유지 시킨다는 것에는 벗어나지는 않는 거다. 하지만 여기에 우리가 해왔던 object-counting방법과, 일찍이 쓴 가짜 생성자(pseudo-constructor)를 혼합해서 기능을 구현해 본다.
          class TooManyObjects{};
  • MoreEffectiveC++/Efficiency . . . . 35 matches
          class LargeObject { // 크고, 계속 유지되는 객체들
          LargeObject(ObjectID id); // 디스크에서 객체의 복구(부르기)
         자 그럼 디스크에서 복구(자료를 부르기)되어지는 LargeObject의 비용을 생각해 보자:
          void restoreAndProcessObject(ObjectID id) // 객체 복구
          LargeObject object(id);
         LargeObject 인스턴스들이 크기 때문에 그런 객체에서 모든 데이터를 얻는 것은, 만약에 특별히 데이터 베이스가 외부에 네크워크 상에서 자료 로드가 있다면 데이터 베이스의 작업은 비쌀것이다. 몇몇 상황에서 모든 데이터 베이스를 읽어들이는 비용은 필요가 없다. 예를 들어서 다음의 어플리케이션의 종류에 관하여 생각해 보자.
         void restoreAndProcessObject(ObjectID id)
          LargeObject object(id);
          if (object.field2() == 0) {
          cout << "Object " << id << ": null field2.\n";
         lazy 로의 접근에서 이런 문제는 LargeObject가 만들어 질때 디스크에서 아무런 데이터를 읽어 들이지 않는 것이다. 대신에 오직 객체의 "껍데기"(shell)만 만들어 주고, 데이터는 객체 내부에서 특정 데이터를 필요로 할때만 데이터 베이스에서 데이터를 복구하는 것이다. 여기 그런 관점에서 "damand-paged" 방식으로 객체 초기화를 적용한 방법이 있다.
          class LargeObjectP
          LargeObject(ObjectID id);
          ObjectID oid;
          LargeObject::LargeObject(ObjectID id):oid(id), field1Value(0), field2Value(0), field3Value(0), ...
          const string& LargeObject::field() const
         객체의 각 필드는 필요한 데이터의 포인터로 표현되어 있고, LargeObject의 생성자는 null로 초기화 된다. 그런 null 포인터는 아직 데이터 베이스에서 해당 필드의 정보를 안읽었다는 걸 의미한다. 데이터를 접근하기 전에 LargeObject의 각 멤버 함수는 반드시 이 필드의 포인터를 검사한다. 만약 포인터가 null이라면 데이터를 사용하기 전에 반드시 데이터 베이스에서 읽어 온다.
         '''lazy fetching'''을 적용 하면, 당신은 반드시 field1과 같은 const멤버 함수를 포함하는 어떠한 멤버 함수에서 실제 데이터 포인터를 초기화하는 과정이 필요한 문제가 발생한다.(const를 다시 재할당?) 하지만 컴파일러는 당신이 const 멤버 함수의 내부에서 데이터 멤버를 수정하려고 시도하면 까다로운(cranky) 반응을 가진다. 그래서 당신은 "좋와, 나는 내가 해야 할것을 알고있어" 말하는 방법을 가지고 있어야만 한다. 가장 좋은 방법은 포인터의 필드를 mutable로 선언해 버리는 것이다. 이것의 의미는 어떠한 멤버 함수에서도 해당 변수를 고칠수 있다는 의미로, 이렇게 어떠한 멤버 함수내에서도 수행할수 있다. 이것이 LargeObject안에 있는 필드들에 mutable이 모두 선언된 이유이다.
          class LargeObject {
          const string& LargeObject::field1() const
  • ProgrammingWithInterface . . . . 25 matches
          public void push(Object article) {
          public Object pop() {
          public void pushMany(Object[] articles) {
          public void push(Object article){
          public Object pop() {
          public void pushMany(Object [] articles) {
          public void push(Object o) {
          public Object pop() {
          Object poppedItem = pop();
          private Object[] theData = new Object[1000];
          public void push(Object article) {
          public Object pop() {
          Object popped = theData[topOfStack--];
          public void pushMany(Object [] articles) {
          void push(Object article);
          Object pop();
          void pushMany(Object [] articles);
          public void push(Object article){
          public Object pop() {
          public void pushMany(Object [] articles) {
  • AseParserByJhs . . . . 24 matches
         //#define OBJECT_BEGIN "*NODE_TM"
         #define OBJECT_BEGIN "*GEOMOBJECT"
         #define OBJECT_NAME "*NODE_NAME"
         #define OBJECT_POS "*TM_POS"
         #define OBJECT_PARENT "*NODE_PARENT"
         #define OBJECT_ROW0 "*TM_ROW0"
         #define OBJECT_ROW1 "*TM_ROW1"
         #define OBJECT_ROW2 "*TM_ROW2"
         #define OBJECT_ROW3 "*TM_ROW3"
         #define OBJECT_ROTAXIS "*TM_ROTAXIS"
         #define OBJECT_ROTANGLE "*TM_ROTANGLE"
         #define OBJECT_ANI "*TM_ANIMATION"
         #define OBJECT_ROT_EXIST "*CONTROL_ROT_TRACK"
         #define OBJECT_POS_EXIST "*CONTROL_POS_TRACK"
         #define OBJECT_ROT_SAMPLE "*CONTROL_ROT_SAMPLE"
         #define OBJECT_POS_SAMPLE "*CONTROL_POS_SAMPLE"
         class CHS_GObject
          CHS_GObject();
          virtual ~CHS_GObject();
          virtual void InitObject (void* pArg) {};
  • JavaNetworkProgramming . . . . 21 matches
          synchronized(anObject){
          *이번장에서 Object를 통신채널로 전송할수있는 객체 스트림에 대해 배우고있다 --;
          *ObjectOutputStream,ObjectInputStream에 대해 자세히 배우는데 개념이 좀 맘에 안온다.
          private Object readResolve(){
          public class MyObjectOutputStream extends ObjectOutputStream implements MyOSContants{
          public MyObjectOutputStream(OutputStream out)throws IOException {
          enableReplaceObject(true); //이메소드를 호출해야만 replaceObject를 호출할수있음 보안문제
          protected Object replaceObject(Object object) throws IOException{
          if(object.getClass() == DatagramPacket.class)
          return new MyDatagramPacket((DatagramPacket)object);
          else if(object.getClass().getName().equals("java.io.File"))
          return new MyFile((File)object);
          return object;
          public class MyObjectInputStream extends ObjectInputStream implements MyOSContants {
          public MyObjectInputStream(InputStream in)throws IOException {
          enableResolveObject(true); //resolveObject()호출 가능하게한다.
          protected Object resolveObject(Object object) throws IOException{
          if(object instanceof MyDatagramPacket)
          return ((MyDatagramPacket)object).toDatagramPacket();
          return object;
  • MockObjects . . . . 19 matches
         실제의 객체역할을 흉내내는 일을 하는 객체이다. 보통 MockObject라는 클래스를 상속받아서 (구현은 각 언어별로 '알아서'이다. ^^; 처음 Mock 의 개념이 나온 컬럼은 Java 소스였다.) 만들어준다. 테스트를 위해서는 처음에 해당 객체에 초기설정을 해 둔다. 그리고 Test를 돌리게 된다.
         사용 예1) 여러 사람이 프로그래밍 할때, 독립된 프로그램이 아닌 모듈별로 프로그램을 만들고 있는 경우. 이럴때 해당 모듈을 작성하고 테스트 코드를 만들려고 해도, 다른 모듈의 의존성 때문에 진행이 어렵게 된다. 아직 완성되지 않은 의존성을 가진 모듈을 MockObject로 만듬으로서 해당 모듈을 만드는 동안의 의존성문제를 해결할 수 있다.
          -> MockObjects 자체가 인터페이스정의를 위한 도구로 이용할 수 있다. (TestFirstProgramming 에서는 Test Code가 일종의 인터페이스를 정의하기 위한 방법으로 이용된다.)
         사용 예2) Datatbase 와 관련된 프로그래밍에 대해서 UnitTest를 할때, DB Connection 에 대한 MockObject를 만들어서 DB Connection을 이용하는 객체에 DB Connection 객체 대신 넣어줌으로서 해당 작업을 하게끔 할 수 있다. 그리고 해당 함수 부분이 제대로 호출되고 있는지를 알기 위해 MockObject안에 Test 코드를 넣어 줄 수도 있다.
         MockObject 는 어디까지나 가짜객체이다. 실제 테스트를 할때에는 MockObject를 이용한 경우와 실제의 객체를 이용했을때의 경우 둘 다 고려해야 한다.
         본래 MockObjects 관련 글은 Java 소스이지만 각 언어에 따라 나름대로 구현할 방법이 있겠다.
          * [http://no-smok.net/seminar/moin.cgi/mockobect_2epy mockobject.py] - Python MockObjects framework
         || MockObject || Mock Object들의 상위클래스. Mock Object들은 MockObject 들을 상속받아서 구현한다. ||
         || Expectation || 소위 말하는 '기대값' 을 위해 미리 Mock Object에 예정된 값들을 채워넣기 위한 클래스들. MockObject는 자신의 구현을 위한 자료구조체로서 Expectation 클래스들을 이용할 수 있다. ||
          * 이용방법 - [http://xper.org/wiki/seminar/MockObjects MockObjects] 를 참조.
          * http://www.mockobjects.com/endotesting.html.
          * http://www.mockobjects.com/papers/jdbc_testfirst.html - MockObjects를 이용한 JDBC 어플리케이션 TestFirstProgramming
          * [http://www.pragmaticprogrammer.com/starter_kit/ut/mockobjects.pdf Using Mock Objects] (extracted from pragmatic unit testing)
  • Refactoring/BadSmellsInCode . . . . 19 matches
          * ExtractMethod 하는중 parameter를 많이 넘겨야 하거나, 임시변수를 많이 사용하게 되는 경우 - ReplaceTempWithQuery, IntroduceParameterObject, PreserveWholeObject, ReplaceMethodWithMethodObject
         ExtractMethod, ReplaceTempWithQuery, ReplaceMethodWithMethodObject, DecomposeConditional
         ExtractClass, ExtractSubclass, ExtraceInterface, ReplaceDataValueWithObject
          * When you can get the data in one parameter by making a request of an object you already know about - ReplaceParameterWithMethod
          * to take a bunch of data gleaned from an object and replace it with the object itself - PreserveWholeObject
          * logic을 가지지 않는 여러개의 data item을 가지는 경우 - IntroduceParameterObject
         ReplaceParameterWithMethod, IntroduceParameterObject, PreserveWholeObject
          * ExtractClass, IntroduceParameterObject or PreserveWholeObject
         ExtractClass, IntroduceParameterObject, PreserveWholeObject
         ReplaceValueWithObject, ExtraceClass, IntroduceParameterObject, ReplaceArrayWithObject, ReplaceTypeCodeWithClass, ReplaceTypeCodeWithSubclasses, ["ReplaceTypeCodeWithState/Strategy"]
          * 조건 case 에 null 이 있는 경우 - IntroduceNullObject
         ReplaceConditionalWithPolymorphism, ReplaceTypeCodeWithSubclasses, ["ReplaceTypeCodeWithState/Strategy"], ReplaceParameterWithExplicitMethods, IntroduceNullObject
         ExtractClass, IntroduceNullObject
  • CivaProject . . . . 18 matches
         class Object;
         typedef shared_ptr<Object> Object_Handle;
         #include "../lang/Object.h"
         #include "Object.h"
         class Array : public Object {
         #include "Object.h"
         #include "Object.h"
          virtual int compareTo(Object o) = NULL;
         == civa.lang.Object ==
         #ifndef CIVA_LANG_OBJECT_INCLUDED
         #define CIVA_LANG_OBJECT_INCLUDED
         class Object {
          virtual bool equals(Object_Handle obj) {
          virtual Object_Handle clone() throw() {
          return Object_Handle(new Object(*this));
          virtual ~Object() {}
         #endif // CIVA_LANG_OBJECT_INCLUDED
         #include "Object.h"
         : public Object, civa::io::Serializable, Comparable, CharSequence {
  • MFC/CollectionClass . . . . 17 matches
         객체의 컬렉션을 정의하는 템플릿 클래스는 MFC의 CObject클래스에서 파생된다. 이런 템플릿 클래스는 기본 데이터 형식이나 사용자가 정의한 클래스, 구조체를 포함한 어떠한 종류의 객체도 저장, 관리하는 것이 가능하다. 이런 클래스들은 내부적으로 복사를 하기 때문에 복사생성자를 만들어야 한다.
          {{{~cpp CArray<ObjectType, ObjectType&> anArray
          || {{{~cpp Add(ObjectType)}}} || 특정 객체를 배열에 저장한다. ||
          {{{~cpp CList<ObjectType, ObjectType&> aList
          || {{{~cpp InsertBefore(POSITION, ObjectType)}}} || 두번째 인자의 객체를 첫번째 인자의 위치의 앞부분에 삽입한다. ||
          || {{{~cpp InsertAfter(POSITION, ObjectType)}}} || 알아서 =.=;; ||
          || {{{~cpp SetAt(POSITION, ObjectType)}}} || 첫번째 인자의 위치에 두번재 인자의 객체를 할당한다. POSITION 의 유효성을 검사한후에 사용해야한다. ||
          || {{{~cpp Find(ObjectType)}}} || 인자로 받은 객체를 검색해서 그 위치의 POSITION값을 리턴한다. 어드레스 수준에서 비교가 행해진다. ||
          {{{~cpp CMap<KeyType, KeyType&, ObjectType, ObjectType&> aMap
         첫번째 인자는 기본 포인터 리스트 클래스인 CObList, CPtrList중에서 선택. CObList는 CObject의 파생 클래스를, CPtrList는 void*형의 포인터들의 리스트를 지원한다.
          || {{{~cpp SetAt(POSITION, ObjectType)}}} || 첫번째 인자의 위치에 두번재 인자의 객체를 할당한다. POSITION 의 유효성을 검사한후에 사용해야한다. ||
          || {{{~cpp InsertBefore(POSITION, ObjectType)}}} || 두번째 인자의 객체를 첫번째 인자의 위치의 앞부분에 삽입한다. ||
          || {{{~cpp InsertAfter(POSITION, ObjectType)}}} || 알아서 =.=;; ||
          || {{{~cpp Find(ObjectType)}}} || 인자로 받은 객체를 검색해서 그 위치의 POSITION값을 리턴한다. 어드레스 수준에서 비교가 행해진다. ||
  • EffectiveSTL/Container . . . . 16 matches
          * STL을 구성하는 핵심 요소에는 여러 가지가 있다.(Iterator, Generic Algorithm, Container 등등). 역시 가장 핵심적이고, 조금만 알아도 쓸수 있고, 편하게 쓸수 있는 것은 Container다. Container는 Vector, List, Deque 과 같이 데이터를 담는 그릇과 같은 Object라고 보면 된다.
         = Item3. Make copying cheap and correct for objects in containers. =
          * 컨테이너에 Object를 넣을때에는, 그 Object의 복사 생성자(const reference)와, 대입 연산자를 재정의(const reference) 해주자. 안그러면 복사로 인한 엄청난 낭비를 보게 될것이다.
         vector<Object> a,b;
         for(vector<Object>::const_itarator VWCI = a.begin() + a.size()/2 ; VWCI != a.end() ; ++VWCI)
         vector<Object> a,b;
         vector<Object> a,b;
         vector<Object*> v;
          v.push_back(new Object); // new로 넣어줬다.
         for(vector<Object*>::iterator i = v.begin() ; i != v.end() ; ++i)
         == 보완법 1(class for function object) ==
          * Fucntion Object 보통 class키워드를 쓰던데, struct(이하 class라고 씀)를 써놨군. 뭐, 별 상관없지만, 내부 인자 없이 함수만으로 구성된 class이다. STL에서 Generic 을 구현하기에 주효한 방법이고, 함수로만 구성되어 있어서, 컴파일시에 전부 inline시킬수 있기 때문에 최적화 문제를 해결했음. 오 부지런히 보는가 보네. 나의 경쟁심을 자극 시키는 ^^;; --["상민"]
         struct DeleteObject : public unary_function<const T*, void>
          for_each(v.begin(), v.End(), DeleteObject()); // 정말 이상하군..--;
          * 밑에꺼 쓰고 덧붙이는 건데 이 방법은 열라 안좋은 거란다.(struct DeleteObject, 쳇 그러면서 뭐하러 설명해?-.-)
         typedef boost::shared_ptr<Object> SPO; // boost 라이브러리라는게 있단다.
          v.push_back(SPO(new Object));
  • ClassifyByAnagram/sun . . . . 15 matches
          Object key = genKey( str );
          Object value = result.get( key );
          private Object genKey( String str )
          Object key = genKey( str );
          Object value = result.get( key );
          private Object genKey( String str )
          Object value;
          Object keyElement;
          Object key = genKey( str );
          Object value = result.get( key );
          private Object genKey( String str )
          Object key = genKey( str );
          Object value = result.get( key );
          private Object genKey( String str )
          Object value = result.get( key );
  • 데블스캠프2010/다섯째날/ObjectCraft . . . . 15 matches
         = ObjectCraft =
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/변형진 변형진]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/허준 허준]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/김정욱 김정욱]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/서민관 서민관]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/강소현 강소현]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/박재홍 박재홍]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션1/김상호 김상호]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/변형진 변형진]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/허준 허준]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/박재홍 박재홍]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/강소현 강소현]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/서민관 서민관]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션2/김상호 김상호]
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft/미션3/김상호 김상호]
  • 5인용C++스터디/더블버퍼링 . . . . 14 matches
         OldBitmap=(HBITMAP)SelectObject(MemDC, hBit);
         GetObject(hBit,sizeof(BITMAP),&bit);
         SelectObject(MemDC,OldBitmap);
         OldBit=(HBITMAP)SelectObject(hMemDC,hBit);
         oldfont=(HFONT)SelectObject(hMemDC,font);
         SelectObject(hMemDC,oldfont);
         DeleteObject(font);
         SelectObject(hMemDC,OldBit);
          OldBit=(HBITMAP)SelectObject(hMemDC, hBit);
          SelectObject(hMemDC, OldBit);
          DeleteObject(hBit);
          DeleteObject(hBaby);
          MemDC.SelectStockObject(NULL_BRUSH);
          MemDC.SelectObject(&MemBitmap);
  • ProjectPrometheus/Journey . . . . 14 matches
          * Object-Database 연동을 위한 {{{~cpp BookMapper}}}, {{{~cpp UserMapper}}} 작성
         Object-RDB Mapping 에 대해서는 ["PatternsOfEnterpriseApplicationArchitecture"] 에 나온 방법들을 읽어보고 그중 Data Mapper 의 개념을 적용해보는중. Object 와 DB Layer 가 분리되는 느낌은 좋긴 한데, 처음 해보는것이여서 그런지 상당히 복잡하게 느껴졌다. 일단 처음엔 Data Gateway 정도의 가벼운 개념으로 접근한뒤, Data Mapper 로 꺼내가는게 나았을까 하는 생각.
          * MockObjects 를 이용, Database 에 대해서 MockObjects Test 와 Real DB Test 를 같이 해 나가보았다. DB - Recommendation System 연결을 위해서는 RS 에서의 object 들과 DB 와의 Mapping 이 필요하다고 판단, DB Schema 를 같이 궁리한 뒤, Test 를 작성하였다. 이때 이전 기억을 떠올리면서 MockObjects Test 를 상속받아서 Real DB Test 를 작성하는 식으로 접근해봤는데 좋은 방법이라 생각.
          * Martin Fowler 의 PatternsOfEnterpriseApplicationArchitecture 를 읽어보는중. 우리 시스템의 경우 DataMapper 의 개념과 Gateway 의 개념을 적용해볼 수 있을 것 같다. 전자는 Data Object 를 얻어내는데에 대해 일종의 MediatorPattern 을 적용함. DB 부분과 소켓으로부터 데이터를 얻어올 때 이용할 수 있을 것 같다. 후자의 경우는 일반적으로 Object - RDB Data Mapping (또는 다른 OO 개념이 아닌 데이터들) 인데, RowDataGateway, TableDataGateway 의 경우를 이용할 수 있을것 같다.
         DB Mock Object ADO 예제 작성. (For XpWorkshop)
         상민쓰와 함께 ADO 를 이용한 부분에 대해 DB Mock Object 예제를 작성했다. 전에 상민이가 DB Layer 를 두지 않고, ADO Framework를 거의 치환하게끔 작성했다고 판단, 이번에는 내부적으로 ADO를 쓰건 가짜 데이터를 쓰건 신경쓰지 않는 방향으로 같이 작성하였다. ADO 는 기존에 ["1002"] 가 작업했던 프로그램에서 일부 사용한 소스를 고쳐썼다.
         5시간 정도 걸리긴 했지만. -_-; Mock Object 가 어떤 것이다에 대해 한걸음 더 이해할 수 있는 계기가 되었다고 생각.
          * STL 을 쓰면 편리하긴 한데, 확실히 학교컴퓨터에선 컴파일이 느리긴 한것 같다는; (하긴, 우리가 map 에 vector 겹친 형태로 작성을 했으니 -_-..) 그래도 STL Container 만 어느정도 이용해도 기존의 순수 C++ 을 이용할 때보다 훨씬 편하다는 점이 즐겁다. 만일 mock object 를 STL 이나 MFC Collection 없이 구현한다고 생각한다면? 그리 상상하고 싶지 않을 정도이다. (특히 DB에선) 그러면서 느끼는점이라면,
         '과연 사람들이 이 소스를 보고 나서 MockObjects 를 적극적으로 이용하려고 할까?' 라는 점. (STL 을 좀 많이 써서. ^^;)
          * 도서관 검색 결과 Object 로 추출, 다시 HTML 생성.
         ObjectWorld 의 전 세미나에서 아키텍트 설계자는(Architector) 소스를 가지고 디자인을 생각하는 사람이 아니라, 디자인(스펙으로 제시된)을 보고 디자인(자신의 회사에 맞는)을 만들수 있는 능력을 가진 사람이라고 말하였다.
  • PluggableSelector . . . . 13 matches
          Type printElement(Object& anObject) {
          return anObject.printString();
          Type printElement(Object& anObject) {
          return anObject.asDollarFormatString();
          Type printElement(Object& anObject) {
          return anObject.desription();
          Type printElement(Object& anObject) {
          return anObject.perform(printMessage);
         확장성 : 한 오브젝트마다 최대 두번까지만 쓰자. 더 많이 쓰면 프로그램의 의도가 흐려진다. 더 많이 쓰고 싶으면 State Object를 쓰는 법이 있다.
  • [Lovely]boy^_^/Arcanoid . . . . 12 matches
         CArcaObject - 알카노이드에 등장하는 모든 오브젝트들의 부모 클래스(위치, 크기, 비트맵, getter/setter)
         CArcaBall : public CArcaObject - 공
         CArcaBar : public CArcaObject - 바
         CArcaBlock : public CArcaObject - 블록
         CArcaItem : public CArcaObject - 아이템
         CArcaMissile : public CArcaObject - 미사일
         oldpen = pDC->SelectObject(&pen);
         pDC->SelectObject(pOldPen);
         pen.DeleteObject();
         //그려줄때는 pDC->SelectObject(&pen);
         //OnDestroy()에서 DeleteObject()하는 방식을 쓰거든요.
          나는 좀더 욕심을 부려서, pDC 까지 보관하여 {{{~cpp GetDC}}}로 얻지도 않고 그릴려고 시도 했는데, 해봐 결과를 알수 있을꺼야. pDC는 끊임없이 변화를 시도하는 녀석이라 상태 유지가 되지 않더군. 바로 전까지 가진 pDC는 옛날 녀석이라 이거지, 결론으로 네가 의도하는 대로 상태 저장이 가능한 GDI Object를 그렇게 쓰는거 부담없다. --["neocoin"]
          * I resolve a problem of multi media timer(10/16). its problem is a size of a object. if its size is bigger than some size, its translation takes long time. So I reduce a size of a object to 1/4, and game can process 1ms of multi media timer.
  • 작은자바이야기 . . . . 11 matches
          * static modifier에 대해 애매하게 알고 있었는데 자세하게 설명해주셔서 좋았습니다. static은 타입을 통해서 부르는거라거나 원래 모든 함수가 static인데 객체지향의 다형성을 위해 static이 아닌 함수가 생긴거라는 설명은 신기했었습니다. object.method(message) -> MyType::method(object, method) 부분이 oop 실제 구현의 기본이라는 부분은 잊어버리지 않고 잘 기억해둬야겠습니다. 근데 파이썬에서 메소드 작성시 (self)가 들어가는 것도 이것과 관련이 있는건가요? -[서영주]
          * 제가 "원래 모든 함수가 static"이라는 의미로 말한건 아닌데 오해의 소지가 있었나보군요. 사실 제가 설명한 가장 중요한 사실은 말씀하신 예에서 object의 컴파일 타입의 method() 메서드가 가상 메서드라면(static이 아닌 모든 Java 메서드), 실제 어떤 method() 메서드를 선택할 것이냐에 관한 부분을 object의 런타임 타입에 의한다는 부분이었지요. 그러니까 object는 컴파일 타입과 동일하지 않은 런타임 타입을 가질 수 있으며, 다형성의 구현을 위해 implicit argument인 object(=this)의 런타임 타입에 따라 override된 메서드를 선택한다는 사실을 기억하세요. (Python에선 실제 메서드 내에서 사용할 formal parameter인 self를 explicit하게 선언할 수 있다고 보면 되겠지요.) - [변형진]
          * Serializable 인터페이스와 ObjectOutput, ObjectInput을 사용한 직렬화, 역직렬화에 대해 공부했습니다.
          * SOLID [http://en.wikipedia.org/wiki/SOLID_(object-oriented_design) SOLID Wiki]
          * Generics와 Reflection을 이용한 ObjectMapper 만들기
          * Map <-> Object 변환
          * 리플렉션과 제네릭스를 써서 map -> objectobject -> map을 하는 부분을 해봤습니다. 자바의 일반적인 세 가지 방식의 클래스 내 변수에 대해 getClass, getFields, getMethods를 사용해 private, 나 접근자가 있는 경우의 값을 받아왔습니다. getter를 사용해서 변수 값을 받아올 때 이름이 get으로 시작하는 다른 함수를 제외하기 위해 method.getParameterTypes().length == 0 같은 부분은 이렇게 체크해야 된다는 부분은 나중에 제네릭스 관련으로 써먹을만 할 것 같습니다. 그리고 mapToObject에서는 문제가 없었지만 objectToMap의 경우에는 제네릭스의 type erase때문에 Class<T> expectedType = T.class; 같은 코드를 사용할 수 없어서 map.put(field.getName(), (T)field.get(obj));에서 형변환의 타입 안전성을 위해 인자로 Class<T> valueType을 받아오고 valueType.isAssignableFrom(field.getType())로 체크를 하는 부분도 공부가 많이 됐습니다. - [서영주]
          * ObjectMapper (cont.)
          * Initilize ObjectMapper at runtime
          * ObjectMapper (cont.)
          * 라이브러리 파일(jar) 만들기(Run as -> Maven Install) - ObjectMapper를 라이브러리와 클라이언트 프로젝트로 분리.
          * getProperty는 String을 반환, get은 Object를 반환 - 제네릭이 없었을 때에는 Object를 받아올 수밖에 없었는데 일반적으로 받아서 쓰는 값이 String이었기 때문에 사용자의 형변환을 피하기 위해 getProperty를 따로 제공했음.
          * .java 파일에는 클래스 내에 native modifier를 붙인 메소드를 작성하고, .c, .cpp 파일에는 Java에서 호출될 함수의 구현을 작성한다. 이후 System.loadLibrary(...) 함수를 이용해서 .dll 파일(Windows의 경우) 또는 .so(shared object) 파일(Linux의 경우)을 동적으로 로드한다.
  • Code/RPGMaker . . . . 10 matches
          Object3D plane = new Object3D(coordinates, uvs, indices, RMObject2D.getTextureIDByColor(Color.white));
          world.addObject(plane);
          // configuration to view far object
         package cau.rpg.maker.object;
         import com.threed.jpct.Object3D;
         public class RMFillBox extends RMObject2D {
          m_polygon = new Object3D(coords, uvs, indices, getTextureIDByColor(color));
         package cau.rpg.maker.object;
         import com.threed.jpct.Object3D;
         public class RMLine extends RMObject2D {
          m_polygon = new Object3D(coords, uvs, indices, getTextureIDByColor(color));
          // move object
          attr_reader :object
          @object = AA::Color.new(red, green, blue, alpha)
          @object = AA::Color.new(red, green, blue, alpha)
          return @object.getRed
          return @object.getGreen
          return @object.getBlue
          return @object.getAlpha
  • JUnit/Ecliipse . . . . 9 matches
          Ch03_01 testObject;
          testObject = new Ch03_01();
          assertNotNull(testObject.allocate());
          public void testGet() { assertEquals(testObject.get(1),1);
          assertTrue(testObject.set(2,3));
          testObject.allocate();
          assertEquals(testObject.get(1),1);
          testObject.allocate();
          assertTrue(testObject.set(2,3));
  • ParametricPolymorphism . . . . 9 matches
         class Pair<SomeObjectType>
          SomeObjectType x, y;
          Pair(SomeObjectType x, SomeObjectType y)
          SomeObjectType getFirstObject (Pair<SomeObjectType> p)
         Integer x = p.getFirstObject(p);
         Boolean x = p.getFirstObject(p);
  • ProjectAR/Design . . . . 9 matches
          * '''CArObject''' 에서 상속받은 '''CARHero'''와 '''CARMonster'''가 있다.
         ==== CARObject ====
          * CARObject는 각자의 패턴에 맞게 움직일수 있어야 한다.
          * CARObject는 각자의 리치, 공격 타입 등에 맞게 공격할 수 있어야 한다.
          * CARObject가 공격을 하려면, 각자의 시야안에 들어오는 또 다른 CARObject를 볼 수 있어야 한다. CARMap을 파라메터로 넘겨주면 될까? 아니면 CARObject를 저장하고 있는 리스트 같은것을 넘겨주면 될까?
          * CARObject는 파라메터(체력, 스킬포인트, 힘 등등)을 가지고 있어야 한다.
          * CARHero는 CARObject를 상속받는다.
  • STL/vector/CookBook . . . . 8 matches
         typedef vector<int>::iterator VIIT; // Object형이라면 typedef vector<Object>::iterator VOIT;
          int ar[10] = {45,12,76,43,75,32,85,32,19,98}; // Object형이라면 Object ar[10]={...};
          // Object형이라면 vector<Object> v(...);
          * typedef으로 시작하는 부분부터 보자. 일단 반복자라는 개념을 알아야 되는데, 사실은 나도 잘 모른다.--; 처음 배울땐 그냥 일종의 포인터라는 개념으로 보면 된다. vector<int>::iterator 하면 int형 vector에 저장되어 있는 값을 순회하기 위한 반복자이다. 비슷하게 vector<Object>>::iterator 하면 Object형 vector에 저장되어 있는 값을 순회하기 위한 반복자겠지 뭐--; 간단하게 줄여쓸라고 typedef해주는 것이다. 하기 싫으면 안해줘도 된다.--;
  • 오목/진훈,원명 . . . . 8 matches
          pDC->SelectObject(GetStockObject(WHITE_BRUSH));
          pDC->SelectObject(GetStockObject(BLACK_BRUSH));
          pDC->SelectObject(GetStockObject(WHITE_BRUSH));
          pDC->SelectObject(GetStockObject(BLACK_BRUSH));
  • 5인용C++스터디/윈도우에그림그리기 . . . . 7 matches
          wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
          SelectObject(hDC,hPen);
          SelectObject(hDC, GetStockObject(NULL_BRUSH));
          DeleteObject(hPen);
          * SelectObject() : CreatePen()으로 만든 펜을 사용하도록 지정해준다.
          * DeleteObject() : CreatePen()함수로 생성한 펜을 지우는 역할.
  • CincomSmalltalk . . . . 7 matches
         === ObjectStudio 다운받기 ===
          * [http://zeropage.org/pub/language/smalltalk_cincom/OsNoncom.exe ObjectStudio]
          * [http://zeropage.org/pub/language/smalltalk_cincom/osmanuals.exe ObjectStudio documentation]
         === ObjectStudio 설치하기 ===
          * {{{~cpp ObjectStudio}}} 를 다운받아 압축을 풀고 SETUP.EXE 를 실행하여 설치한다.
          * {{{~cpp ObjectStudio documentation}}} 은 필요한 경우 {{{~cpp ObjectStudio}}} 가 설치된 디렉토리에 압축을 푼다.
  • Gof/AbstractFactory . . . . 7 matches
          * 추상 객체(ProductObject)들을 만드는 기능을 위한 인터페이스를 정의한다.
          * 객체(ProductObject)를 만드는 기능을 수행한다.
          * 어떤 객체(ProductObject)를 위한 인터페이스를 정의한다.
          * 팩토리에 상응하는 객체(ProductObject)를 정의한다.
          이 concrete factory는 특정 상속에 의한 객체(ProductObject)를 만들어낸다. 서로 다른 객체(ProductObject)를 만들어 내기 위해서는
          * AbstractFactory는 객체(ProductObject)의 생성을 ConcreteFactory의 서브 클래스에 위임한다.
  • MFC/Serialize . . . . 7 matches
          CXXXDoc 클래스의 객체가 시리얼화 입력과정동안 응용 프로그램을 통해 동적으로 생성될 수 있도록 한다. IMPLEMENT_DYNCREATE와 매치. 이 매크로는 CObject 에서 파생된 클래스에만 적용된다. 따라서 직렬화를 하려면 클래스는 직접적이든 간접적이든 CObject의 Derived Class 여야한다.
          (float, double, BYTE, int, LONG, WORD, DWORD, CObject*, CString, SIZE, CSize, POINT, CPoint, RECT, CRect, CTime, CTimeSpan 이 오버라이딩 되어있다.)
         참고) [MFC/CObject]
         {{{~cpp IMPLEMENT_SERIAL(CExample, CObject, 1)
          * 클래스가 CObject 의 자식 클래스 인지 확인하라.
          * DECLARE_SERIAL() 매크로를 추가하라. 만약 바로 상위의 클래스가 CObject 가 아니라면 바로 상위의 클래스에 추가하라)
  • OOP . . . . 7 matches
         '''Object Oriented Programming''' : 객체 지향 프로그래밍. ~~객체를 지향하는 프로그래밍입니다.~~이 이전에 Object Based Progamming 것이 있었다.이 다음 세대의 프로그래밍 기법은 GenericProgramming이라고 이야기된다.
         Object-oriented programming is based in the principle of recursive design.
         1. Everything is an object.
         2. Objects perform computation by making requests of each other through the passing of messages.
         3. Every object has it's own memory, which consists of other objects.
         4. Every object is an instance of a class. A class groups similar objects.
         5. The class is the repository for behabior associated with an object.
         It’s a natural way for people to ”think in objects”.
         Program consists of objects interacting with eachother Objects provide services.
          * [Object]
         === Basic rules to define objects ===
         Objects should correspond real word objects
         All actions should be delegated to objects
  • RandomWalk/임인택 . . . . 7 matches
          ObjectInputStream in
          = new ObjectInputStream(_nextSock.getInputStream());
          Object obj = in.readObject();
          ObjectOutputStream out
          = new ObjectOutputStream(_nextSock.getOutputStream());
          out.writeObject(msg);
  • SelfDelegation . . . . 7 matches
          void put(const T1& keyObject, const T2& valueObject) {
          hashTable.put(keyObject, valueObject, this); // 문법 안맞는거 같다. 그냥 그런가 보다 하자.
         void HashTable::put(const T1& keyObject, const T2& valueObject, Dictionary* collection)
          hash = collection->hashOf(keyObject);
         HashTable& Dictionary::hashOf(const T& object) {
          return object.hash();
         HashTable& IdentityDictionary::hashOf(const T& object) {
          return object.basisHash();
  • 정모/2011.3.14 . . . . 7 matches
          * [황현]의 세미나 : Objective-C
          * 현이가 기부한 Objective-C 표지가 재미있었어요. 방학때 공부하고 싶어요. - [박성현]
          * 솔직히 Ice Breaking할때 저번 주에 한 재미난 일이 생각이 안나서 어떻게 대충 쓰다보니 너무 자명한 거짓말을 써 버렸습니다ㅋㅋ OMS할때 Objective-C에 대해 하나도 몰라서 초반의 Obj-C의 클래스 선언 방법이나 문법에 대해서는 이해를 했지만 뒤에 가서는 이해가 안가는 부분이 대다수였던 것 같네요. ZP책장에 Obj-C 책을 넣어 뒀다고 하니 언젠간 한 번 꺼내서 읽어봐야겠습니다. - [신기호]
          * 앗 자명한 거짓말... 그런데 저는 못맞췄어요ㅠㅠㅠ Objective-C에 관심을 갖게되신 분들이 많네요! 방학때 스터디를 하는 건 어떨까요? - [김수경]
          * Ice Breaking을 하면서 뭔가 저번주에 바쁘게 지낸거 같은데 쓸게 없네라는 생각이 들기도 했었지만,, 이런 기회로 조금이나마 서로에 대해서 알게 된 것 같아 좋았습니다. Objective-C는 초반 세팅의 문제가 있었지만, 설명을 해주는 점에 있어서는 확실히 이 언어를 많이 써 보고 느낀점을 전달하려고 하는 모습이 보기 좋았습니다. 그리고 항상 이런 언어에 대해서 들으면서 느끼는건 어디선가 이름은 많이 들어봤는데 접해본건 하나도 없구나 하는.... 대안언어에 대한 발표가 진행될 때 일이 있어 먼저 가긴 했지만 다음에 기회가 되면 알아보고 참여해 보는 것도 괜찮을 거 같다는 생각이 들었습니다. - [권순의]
          * 대안언어축제에서의 경험을 공유하는 차원에서 1주일회고를 새로운 방식으로 해봤는데 어땠을지 모르겠네요. 이게 대안언어축제에선 6~8명 정도 있을 때 했던 것인데요. ZeroPage 정모에 그대로 적용시키니 시간이 많이 소요되어 그 점을 개선하는 것이 좋겠다는 생각이 들었습니다. 오늘 OMS에서는 현이가 진행한 Objective-C 세미나를 들었는데 정말 유익했습니다. 사실 Objective-C에 대한 호의적인 의견은 전에도 들어본 적이 있는데 딱히 관심으로 이어지지는 않았습니다. 그런데 이번 정모에서 세미나를 들으니 ''오, 이거 재밌겠는데?'' 싶은 생각이 드네요!! 깊게는 아니더라도 한번 공부해서 써보고 싶어졌습니다. 마침 현이가 책장에 책도 가져다 놓았으니 틈틈이 읽어봐야겠어요. 아, 그리고 대안언어축제의 경험을 어떻게 공유해야할지 고민이 많았는데 지혜가 정말 중요한 내용들을 공유해준 덕분에 저는 자잘한 몇가지만 말하고 넘어갈 수 있었네요ㅋㅋ 위키에도 [wiki:PNA2011/서지혜 대안언어축제 내용]을 정리하고 있던데 다들 읽어보셨으면 좋겠어요~ - [김수경]
          * 처음에 Ice Breaking은 늦게들어가서 제대로 하지 못했지만 저번주 회고도 되면서 나름 재미도 있는 개념인거같네요 그리고 objective-C 세미나는 흥미는 있었지만 능력부족으로 이해가 되지않고 밤새고 신검을 받고온 후유증으로 거의 졸았던것같습니다. 새싹교실에 대해서도 얘기를 했는데 첫 강사라 긴장되기도 하지만 열심히하면 제대로 되겠지요 - [경세준]
  • 1002/Journal . . . . 6 matches
         Service 와 Controller 가 거의 Composition 이고, 그로 인해 Controller 는 Mapper, Recommender 들이 줄줄히 의존성을 가졌다. 각각의 Mapper, Recommender 들이 DB 를 쓰므로 이를 Mock Object 를 쓸까 하다가, 어차피 현재 작성하는 부분이 AcceptanceTest 의 일부이므로 실제 객체를 그냥 이용해도 좋겠다고 판단, 그대로 이용하고 작성.
         해당 클래스 내에서 생성하는 디자인은 그 클래스를 교체해줄 수가 없으니 유연한 디자인이 아니다. 그렇다고 setter 를 두는 것도 좋은 디자인은 아닌것 같고. (프로그래밍 실행 중간에 Delegation 하는 객체를 교체할 일은 드물다. State Pattern 이나 Strategy Pattern 이 아닌이상.) 아마 처음에 Mock Object 를 이용하여 BookMapper 를 만들었었다면 Connection 을 직접 이용하거나, Library 객체를 내부적으로 직접 인스턴스를 생성하여 이용하는 디자인은 하지 않았을 것이란 생각이 든다.
         이걸 상속받아서 getLibrary를 override하고 MockObject로 연결해라.
         http://www.utdallas.edu/~chung/patterns/conceptual_integrity.doc - Design Patterns as a Path to Conceptual Integrity 라는 글과 그 글과 관련, Design Patterns As Litmus Paper To Test The Strength Of Object Oriented Methods 라는 글을 보게 되었는데, http://www.econ.kuleuven.ac.be/tew/academic/infosys/Members/Snoeck/litmus2.ps 이다. 디자인패턴의 생성성과 관련, RDD 와 EDD 가 언급이 되는 듯 하다.
         뭐. OO 로 할 수도 있었지만 (아마 Box Object 를 만들고 두개의 intersect box 를 create 한뒤, 각각의 box 에게 area 를 물어보는 식이 되었을듯.) 빠른 값이 나오는게 일단 촛점을 맞춰보았다.
         25 ~ 28일 (화~금): ObjectOrientedProgramming 세미나 준비기.
  • Gof/Facade . . . . 6 matches
         서브시스템을 구축하는 것은 복잡함을 줄이는데 도움을 준다. 일반적인 디자인의 목적은 각 서브시스템간의 통신과 의존성을 최소화시키는 것이다. 이 목적을 성취하기 위한 한가지 방법으로는 단일하고 단순한 인터페이스를 제공하는 facade object를 도입하는 것이다.
          - facade 에 대한 정보가 필요없다. facade object에 대한 reference를 가지고 있을 필요가 없다.
         Sample Code의 compiler 의 예는 ObjectWorksSmalltalk compiler system에서 영감을 얻은 것이다.[Par90]
         ET++ application framework [WGM88] 에서, application은 run-time 상에서 application의 객체들을 살필 수 수 있는 built-in browsing tools를 가지고 있다.이러한 browsing tools는 "ProgrammingEnvironment'라 불리는 facade class를 가진 구분된 서브시스템에 구현되어있다. 이 facade는 browser에 접근 하기 위한 InspectObject나 InspectClass같은 operation을 정의한다.
          * MemoryObject 는 데이터 저장소를 나타낸다.
          * MemoryObjectCache는 물리적 메모리에서의 MemoryObject의 데이터를 캐쉬한다.
          MemoryObjectCache는 실제로는 캐쉬 정책을 지역화시키는 Strategy Pattern이다.
  • InternalLinkage . . . . 6 matches
         [MoreEffectiveC++]의 Item 26 'Limiting the number of objects of a class. 를 보면 다음과 같은 부분이 있다.
         The second subtlety has to do with the interaction of inlining and static objects inside functions. Look again at the code for the non-member version of thePrinter: ¤ Item M26, P17
         Consider for a moment why you'd declare an object to be static. It's usually because you want only a single copy of that object, right? Now consider what inline means. Conceptually, it means compilers should replace each call to the function with a copy of the function body, but for non-member functions, it also means something else. It means the functions in question have internal linkage.
         You don't ordinarily need to worry about such linguistic mumbo jumbo, but there is one thing you must remember: functions with internal linkage may be duplicated within a program (i.e., the object code for the program may contain more than one copy of each function with internal linkage), and this duplication includes static objects contained within the functions. The result? If you create an inline non-member function containing a local static object, you may end up with more than one copy of the static object in your program! So don't create inline non-member functions that contain local static data.(9)
         Object& theObject() // 이 함수는 클래스의 정적 메소드나
          static Object obj;
         Object& theObject()
         그것은 바로 InternalLinkage 때문이다. InternalLinkage 란, 컴파일 단위(translation unit -> Object Code로 생각해 보자) 내에서 객체나 함수의 이름이 공유되는 방식을 일컫는다. 즉, 객체의 이름이나 함수의 이름은 주어진 컴파일 단위 안에서만 의미를 가진다.
  • SmallTalk/강좌FromHitel/소개 . . . . 6 matches
         있습니다. Dolphin Smalltalk 98을 만든 Object Arts라는 회사가 쓴 "Dolphin
         90년대 초에는 머지않아 무른모(software)는 객체(object)와 부품(component)를
         른모 개발에 하나의 커다란 사건이 되어버린 "객체 지향"(Object Oriented) 패러
         오늘날 많이 사용되고 있는 C++, Java, Object Pascal 등은 모두 프로그래밍 언
         (loop)의 수행 시간을 측정하면 Smalltalk는 널리 쓰이는 다른 언어(C, Object
         procedure TForm1.Button1Click(Sender: TObject);
         위의 간단한 벤치마크 실험에서, Object Pascal을 사용하는 Delphi의 경우는 실
  • SmallTalk_Introduce . . . . 6 matches
         있습니다. Dolphin Smalltalk 98을 만든 Object Arts라는 회사가 쓴 "Dolphin
         90년대 초에는 머지않아 무른모(software)는 객체(object)와 부품(component)를
         른모 개발에 하나의 커다란 사건이 되어버린 "객체 지향"(Object Oriented) 패러
         오늘날 많이 사용되고 있는 C++, Java, Object Pascal 등은 모두 프로그래밍 언
         (loop)의 수행 시간을 측정하면 Smalltalk는 널리 쓰이는 다른 언어(C, Object
         procedure TForm1.Button1Click(Sender: TObject);
         위의 간단한 벤치마크 실험에서, Object Pascal을 사용하는 Delphi의 경우는 실
  • UnitTest . . . . 6 matches
         A: Socket 이나 Database를 이용하는 경우에는 문제가 되겠죠. 그럴때 MockObjects를 이용하는 방법이 있었던걸로 기억하는데, 아직 실제로 제가 해보지는 않아서요. 대강 개념을 보면 MockObjects는 일종의 가짜 객체로 실제 객체가 하는 일을 시뮬레이션 해주는 객체입니다. 미리 MockObjects 를 셋팅을 해두고 해당 함수결과의 리턴 요구시에는 예측할 수 있는 데이터를 리턴하게끔 하는 것이지요. 나중에 본 프로그램에서 MockObjects들을 토대로 실제의 객체를 만든다.. 식의 개념으로 기억하고 있긴 한데, 저의 경우는 공부만 하고 적용해본 적은 없습니다. --석천
         A: MockObjects가 최적입니다. Socket이나 Database Connection과 동일한 인터페이스의 "가짜 객체"를 만들어 내는 겁니다. 그러면 Socket 에러 같은 것도 임의로 만들어 낼 수 있고, 전체 테스팅 시간도 훨씬 짧아집니다. 하지만 "진짜 객체"를 통한 테스트도 중요합니다. 따라서, Socket 연결이 제대로 되는가 하는 정도만(최소한도로) "진짜 객체"로 테스팅을 하고 나머지는 "가짜 객체"로 테스팅을 대체할 수 있습니다. 사실 이런 경우, MockObjects를 쓰지 않으면 Test Code Cycle을 통한 개발은 거의 현실성이 없거나 매우 비효율적입니다. --김창준
  • ZeroPageHistory . . . . 6 matches
         ||겨울방학 ||C++ for windows, X windows Programming, Object Oriented Analysis & Design 등의 Project 수행 ||
          * C++ for Windows, X Windows Programming, Object Oriented Analysis & Design
         ||여름방학 ||C++, HTML, Object Pascal 세미나 개최.(목적 불문 게시물: 비선점형/선점형 멀티태스킹, Win32의 프로세스와 스레드.)(긁어놓은 게시물: 타이머, 마우스) ||
          * C++, HTML, Object Pascal
          * 데블스캠프 : C, 파일 입출력, DOS, UNIX, Windows, Web Programming, Object-Oriented Programming, Network
          * Photoshop, Object-Oriented Programming
  • ZeroPage성년식/거의모든ZP의역사 . . . . 6 matches
         ||겨울방학 ||C++ for windows, X windows Programming, Object Oriented Analysis & Design 등의 Project 수행 ||
          * C++ for Windows, X Windows Programming, Object Oriented Analysis & Design
         ||여름방학 ||C++, HTML, Object Pascal 세미나 개최.(목적 불문 게시물: 비선점형/선점형 멀티태스킹, Win32의 프로세스와 스레드.)(긁어놓은 게시물: 타이머, 마우스) ||
          * C++, HTML, Object Pascal
          * 데블스캠프 : C, 파일 입출력, DOS, UNIX, Windows, Web Programming, Object-Oriented Programming, Network
          * Photoshop, Object-Oriented Programming
  • 데블스캠프2005/월요일 . . . . 6 matches
          === For ObjectOrientedProgrammingSeminar ===
          NoSmok:ObjectOrientedProgramming (NoSmok)
          Wiki:ObjectOrientedProgramming (OriginalWiki)
          [http://c2.com/doc/oopsla89/paper.html A Laboratory For Teaching Object-Oriented Thinking]
          Object-Oriented Programming with Squeak
          [http://www.zib.de/Visual/people/mueller/Course/Tutorial/tutorial.html Introduction to Object-Oriented Programming Using C++]
  • 데블스캠프2006/목요일/winapi . . . . 6 matches
          wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
          wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
          wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
          wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
          HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc, hBrush);
          SelectObject(hdc, hOldBrush);
  • 황현/Objective-P . . . . 6 matches
         이제 PHP에서도 Objective-C의 아름다운 문법을!
          * 즉, Objective-P와 순수 PHP 코드를 혼용해 사용할 수 있다! (Just like we can mix up ObjC and pure C!)
         Objective-J의 경우처럼, 클래스의 선언과 정의를 동시에 한다. (사실 PHP의 구조상, 이럴 수 밖에 없다.)
         @interface MyFirstObjPClass : GNObject <GNSomeProtocol>
         class MyFirstObjPClass extends GNObject implements GNSomeProtocol {
         $myClass =MyFirstObjPClass::new(); // defined in GNObject
  • EightQueenProblem/밥벌레 . . . . 5 matches
          procedure FormPaint(Sender: TObject);
          procedure Button1Click(Sender: TObject);
         procedure TForm1.FormPaint(Sender: TObject);
         procedure TForm1.Button1Click(Sender: TObject);
         procedure TForm1.Button2Click(Sender: TObject);
  • OperatingSystemClass/Exam2002_1 . . . . 5 matches
          items = new Object[SIZE];
         public void send(Object o) {
         public Object receive() {
          Object it = _________________;
         private Object[] items;
  • ResponsibilityDrivenDesign . . . . 5 matches
         Object 란 단순히 logic 과 data 묶음 이상이다. Object 는 service-provider 이며, information holder 이며, structurer 이며, coordinator 이며, controller 이며, 바깥 세상을 위한 interfacer 이다. 각각의 Object 들은 자신이 맡은 부분에 대해 알며, 역할을 해 내야 한다. 이러한 ResponsibilityDrivenDesign 은 디자인에 대한 유연한 접근을 가능하게 한다. 다른 디자인 방법의 경우 로직과 데이터를 각각 따로 촛점을 맞추게끔 하였다. 이러한 접근은 자칫 나무만 보고 숲을 보지 못하는 실수를 저지르게 한다. RDD는 디자인과 구현, 그리고 책임들에 대한 재디자인에 대한 실천적 조언을 제공한다.
          * object 에 대해서 기존의 'data + algorithms' 식 사고로부터 'roles + responsibilities' 로의 사고의 전환.
         (from http://www.dcs.shef.ac.uk/~tom/Objects/AutoRDD/rdd.html)
          * Wirfs-Brock's DesigningObjectOrientedSoftware (["중앙도서관"]에 있음)
  • SmallTalk/강좌FromHitel/강의2 . . . . 5 matches
          Smalltalk 환경이 설치되어있어야 합니다. 일단 우리들은 Object Arts사의
          원래 Object Arts에서 제공하는 배포판의 파일 이름은 Dolphin981Setup.Exe
          입니다. 저장 기능을 사용하려면 Object Arts사에서 무료로 배부하는 등록
          내려진 명령이라고 합니다. Object Arts사는 1995년 2월에 자사의 Dolphin
          수의 객체(object)가 있으며, 이들 객체는 저마다의 갈래(class)에 속해 있
          타났습니다. 지금 나타난 창을 "객체 탐색기"(object inspector), 혹은 간단
          개의 객체(object)들이 존재하는지를 보여줍니다. <Ctrl-I>를 쓰지 말고
          Object allSubinstances size. ☞ 44121
  • TestDrivenDevelopmentBetweenTeams . . . . 5 matches
         일단 각 팀들끼리 TDD 를 하면서 팀들간의 대화를 통해서 일종의 공통 interface 를 빼낼 수 있다. 일단은 일종의 MockObject 로 가짜값을 채워서 테스트를 통과시킨뒤, 실제 Object 가 구현되면, 천천히 하나씩 실제 Object 의 interface 를 끼워가면서 테스트를 통과하는지를 확인한다. 그리고 최종적으로 실제 Object 로 MockObject 를 대체시킨다.
  • TestFirstProgramming . . . . 5 matches
         후자의 경우는 해당 코드의 구조를 테스트해나가는 방법으로, 해당 코드의 진행이 의도한 상황에 맞게 진행되어가는지를 체크해나가는 방법이다. 이는 MockObjects 를 이용하여 접근할 수 있다. 즉, 해당 테스트하려는 모듈을 MockObject로 구현하고, 호출되기 원하는 함수들이 제대로 호출되었는지를 (MockObjects 의 mockobject.py 에 있는 ExpectationCounter 등의 이용) 확인하거나 해당 데이터의 추가 & 삭제관련 함수들이 제대로 호출되었는지를 확인하는 방법 (ExpectationList, Set, Map 등의 이용) 등으로서 접근해 나갈 수 있다.
         Random 은 우리가 예측할 수 없는 값이다. 이를 처음부터 테스트를 하려고 하는 것은 좋은 접근이 되지 못한다. 이 경우에는 Random Generator 를 ["MockObjects"] 로 구현하여 예측 가능한 Random 값이 나오도록 한 뒤, 테스트를 할 수 있겠다.
         이 경우에도 ["MockObjects"] 를 이용할 수 있다. 기본적으로 XP에서의 테스트는 자동화된 테스트, 즉 테스트가 코드화 된 것이다. 처음 바로 접근이 힘들다면 Mock Server / Mock Client 를 만들어서 테스트 할 수 있겠다. 즉, 해당 상황에 대해 이미 내장되어 있는 값을 리턴해주는 서버나 클라이언트를 만드는 것이다. (이는 TestFirstProgramming 에서보단 ["AcceptanceTest"] 에 넣는게 더 맞을 듯 하긴 하다. XP 에서는 UnitTest 와 AcceptanceTest 둘 다 이용한다.)
  • 레밍즈프로젝트/그리기DC . . . . 5 matches
          m_pMemDC->SelectObject(&m_bmp);
          m_bmp.DeleteObject();
          oldBitmap = (CBitmap*)BitMapDC.SelectObject(&newBitmap);
          BitMapDC.SelectObject(oldBitmap);
          newBitmap.DeleteObject();
  • DataStructure . . . . 4 matches
          * OOP시대에는 위의 개념이 살짝 바뀌었더군여. Algorithms+Data Structure=Object, Object+Object+....+Object=Programs 이런식으로..
  • EightQueenProblem/da_answer . . . . 4 matches
          procedure Button1Click(Sender: TObject);
         procedure TForm1.Button1Click(Sender: TObject);
          procedure Button1Click(Sender: TObject);
         procedure TForm1.Button1Click(Sender: TObject);
  • Java/ModeSelectionPerformanceTest . . . . 4 matches
          method.invoke(this, new Object[]{new Integer(1)});
          method.invoke(this, new Object[]{new Integer(1)});
          Object[] consParams = new Object[]{this};
  • Java/ReflectionForInnerClass . . . . 4 matches
          Object outer = outerClass.newInstance();
          Object[] consParams = new Object[]{outer};
          Object inner = innerCons.newInstance(consParams);
  • JavaScript/2011년스터디/3월이전 . . . . 4 matches
         Object.prototpye.toString.apply(); // [Object Global]
         Object.prototpye.toString.apply(o); // [Object Array]
  • ObjectOrientedProgramming . . . . 4 matches
         Object Oriented Programming
         Object-oriented programming is based in the principle of recursive design.
         1. Everything is an object.
         2. Objects perform computation by making requests of each other through the passing of messages.
         3. Every object has it's own memory, which consists of other objects.
         4. Every object is an instance of a class. A class groups similar objects.
         5. The class is the repository for behabior associated with an object.
          * 'oriented'라는 단어가 사전에서는 '지향'이라고 설명되어 있지만, 그 고어적인 뜻은 '비롯되다', '해가 뜨는', '출현하는', '발생하기 시작하는' 이라는 뜻을 가지고 있습니다. 따라서 'Object oriented'라는 용어는 '객체에서 비롯된다'라고 해석할 수 있지요. 저는 이것이 좀 더 정확한 해석이라고 생각합니다. - [http://garden.egloos.com/10001141/post/20974 출처]
  • Refactoring/MakingMethodCallsSimpler . . . . 4 matches
          ''Add a parameter for an object that can pass on this information''
         You have a method that returns a value but also changes the state of an object.
         == Preserve Whole Object ==
         You are getting several values from an object and passing these values as parameters in a method call.
          ''Send the whole object instead''
         An object invokes a method, then passes the result as a parameter for a method. The receiver can also invoke this method.
         == Introduce Parameter Object ==
          ''Replace them with an object''
         http://zeropage.org/~reset/zb/data/IntroduceParameterObject.gif
         You want to do more that simple construction when you create an object.
         A method returns an object that needs to be downcasted by its callers.
         Object lastReading () {
  • SmallTalk/강좌FromHitel/강의3 . . . . 4 matches
         었습니다. 이는 우리가 아직 등록 절차를 거치지 않았기 때문입니다. Object
         앞서 말한 대로, 등록을 하려면 Object Arts사에서 발급하는 등록 번호를 받
         터넷에 연결되어있는지 확인하고 이어서 이 단추를 누르면 Object Arts사의
          수신: support@object-arts.com
         Smalltalk에서는 모든 것이 객체(object)입니다. 우리는 Smalltalk언어를 객
         는 기본적으로 Object Arts사에서 만들어 놓은 Smalltalk 환경을 이루고 있
  • SmalltalkBestPracticePatterns/DispatchedInterpretation . . . . 4 matches
         '''''How can two objects cooperate when one wishes to conceal its representation ? '''''
         Objects change all this. How you distribute responsibility among objects is the critical decision, encoding is a distant second. For the most part, in well factored programs, only a single object is interested in a piece of information. That object directly references the information and privately performs all the needed encoding and decoding.
         Sometimes, however, information in one object must influence the behavior of another. When the uses of the information are simple, or the possible choices based on the information limited, it is sufficient to send a message to the encoded object. Thus, the fact that boolean values are represented as instances of one of two classes, True and False, is hidden behind the message #ifTrue:ifFalse:.
         Sets interact with their elements like this. Regardless of how an object is represented, as long it can respond to #=and #hash, it can be put in a Set.
         Sometimes, encoding decisions can be hidden behind intermediate objects. And ASCII String encoded as eight-bit bytes hides that fact by conversing with the outside world in terms of Characters:
         Every client that wanted to make decisions based on what commands where in a Shape would have to have the same case statement, violating the "once and only once" rule. We need a solution where the case statement is hidden inside of the encoded objects.
         * ''Have the client send a message to the encoded object. PAss a parameter to which the encoded object will send decoded messages.''
         The simplest example of this is Collection>>do:. By passing a one argument Block(or any other object that responds to #value:), you are assured that the code will work, no matter whether the Collection is encoded as a linear list, an array, a hash table, or a balanced tree.
         Rather than Shapes providing #commandAt: and #argumentsAt:, they provide #sendCommantAt: anInteger to: anObject, where #lineFrom:to: is one of the messages that could be sent back. Then the original display code could read:
         Shape>>sendCommandsTo: anObject
          to: anObject]
         The name "dispatched interpretation" comes from the distribution of responsibility. The encoded object "dispatches" a message to the client. The client "interprets" the message. Thus, the Shape dispatches message like #lineFrom:to: and #curveFrom:mid:to:. It's up to the clients to interpret the messages, with the PostScriptShapePrinter creating PostScript and the ShapeDisplayer displaying on the screen.
         '''''You will have to design a Mediating Protocol of messgaes to be sent back. Computations where both objects have decoding to do need Double Dispatch.'''''
  • UnityStudy . . . . 4 matches
          * 직접 Object를 등록해서 모양 조절하고, 중력 효과를 넣으면서 진짜 게임 같은 느낌이 나기 시작했네요.
          - Asset에서 Prefab을 만든 뒤에, Object를 Prefab에 드래그해서 등록한다. Prefab에 등록된 모든 Object에 동일한 설정(텍스쳐 등)이 등록된다.
          - Game Object를 이용해준다.
  • XpWeek/20041224 . . . . 4 matches
         알바하느라 소홀히 한점이 아쉽다. 또한 MockObjects에 대한 이해가 부족하여 TDD로 진행하지 못한 점이 아쉽다. 5일간 쉼없이 달려왔는데 아직 미흡한 점이 많다. 혼자 리펙토링을 해보았지만 별로 재미 없었다. 구피에서 돌릴 수 있도록 간단한 리펙토링하고 GUI 기능을 추가하고 싶다. 다음주중 하루 잡아서 하는게 어때?? 그리고 나의 최종 목표는 테스트코드를 추가하는 것이다. TDD는 아니지만 네트워크에 대한 MockObjects를 구현해보고 싶다. -- 재선
          사실 네트워크에 대한 MockObjects는 어렵지 않았던 것 같아. JUnit에서 제공하는 MockObject클래스를 소켓에 써먹는 방법에 집착한 나머지 포기하지 않았을까? 단순히 서버와 클라이언트 흉내만 내면 될텐데...
  • neocoin/Log . . . . 4 matches
          || [http://www.ocu.or.kr/ Unix 프로그래밍(U)]|| [http://cvlab.cau.ac.kr/ Object Programming(OP)]|| [http://cvlab.cau.ac.kr/ 정보 표준화(IS)] ||.||
          * OP- 9월 24일 Object Programming C++ 시험
          * Object Programming 모자이크 숙제 (숙제가 취소 되었음)
          * OP - Object Programming Mosaic 프로그램 숙제
  • 데블스캠프2002/진행상황 . . . . 4 matches
          * OOP를 바로 설명하기 전에 나의 프로그래밍 사고 방식을 깨닫고, StructuredProgramming 의 경우와 ObjectOrientedProgramming 의 경우에는 어떠한지, 그 사고방식의 이해에 촛점을 맞추었다.
          * ObjectOrientedProgramming - ["RandomWalk2"] 에 대해서 창준이형과 ["1002"] 는 서로 이야기를 해 나가면서 하나씩 객체들을 뽑아내가는 과정을 설명했다. 일종의 CRC 카드 세션이었다. 그러고 나서는 프로젝터를 통해, 직접 Prototype을 만들어 보였다. OOP/OOAD로 접근하는 사람의 사고방식과 프로그래밍의 과정을 바로 옆에서 관찰할 수 있었다.
          * ["RandomWalk2"] 를 ObjectOrientedProgramming 으로 구현하기 - 위의 Python 관련 실습동안 ["1002"] 는 ["RandomWalk2"] 에 대해서 C++ Prototype을 작성. (["RandomWalk2/ClassPrototype"]) 이를 뼈대로 삼아서 ["RandomWalk2"] 를 작성해보도록 실습. 해당 소스에 대한 간략한 설명, 구현의 예를 설명. 중간에 객체들에 대한 독립적인 테스트방법을 설명하면서 assert 문을 이용한 UnitTest 의 예를 보였다.
         처음 ["1002"]가 계획한 세미나 스케쥴은 조금 달랐다. "어떻게 하면 ObjectOrientedProgramming의 기본 지식을 많이 전달할까"하는 질문에서 나온 스케쥴 같았다. 나름대로 꽤 짜임새 있고, 훌륭한(특히 OOP를 조금은 아는 사람에게) 프로그램이었지만, 전혀 모르는 사람에게 몇 시간 동안의 세미나에서 그 많은 것을 전달하기는 무리가 아닐까 하고 JuNe은 생각했다. 그것은 몇 번의 세미나 경험을 통해 직접 느낀 것이었다. 그가 그간의 경험을 통해 얻은 화두는 다음의 것들이었다. 어떻게 하면 적게 전달하면서 충분히 깊이 그리고 많이 전달할까. 어떻게 하면 작은 크기의 씨앗을 주되, 그것이 그들 속에서 앞으로 튼튼한 나무로, 나아가 거대한 숲으로 잘 자라나게 할 것인가.
  • 데블스캠프2010 . . . . 4 matches
          || 1시 ~ 3시 || [박성현] || [wiki:데블스캠프2010/첫째날/오프닝 오프닝] || [김수경] || [wiki:데블스캠프2010/Prolog Prolog] || [박성현] || [wiki:EightQueenProblem Eight Queen] || [강성현] || [wiki:데블스캠프2010/넷째날/DHTML DHTML] || [변형진] || [wiki:데블스캠프2010/다섯째날/ObjectCraft ObjectCraft] ||
          || 3시 ~ 5시 || 박지상 || 게임회사 이야기 || [김홍기] || PP || [김창준] || 학습 || [안혁준] || C++0x || [변형진] || [wiki:데블스캠프2010/다섯째날/ObjectCraft ObjectCraft] ||
  • DebuggingSeminar_2005/AutoExp.dat . . . . 3 matches
         ; type of the object. This is especially useful with pointers or
         CProcessLocalObject =<,t>
         CThreadLocalObject =<,t>
         CObject =<,t>
  • Direct3D . . . . 3 matches
         CMyD3DApplication->InitDeviceObject() : 오브젝트의 초기화를 수행하는 부분
         CMyD3DApplication->RestoreDeviceObject() : 렌더링 방법을 세팅하는 부분
         CMyD3DApplication->DeleteDeviceObject() : 따로 생성한 객체를 릴리즈하는 부분
  • DirectDraw . . . . 3 matches
         그리고 Project Setting -> Link -> Object/Library modules에는
         GetObject(hb, sizeof(bmp), &bmp);
         SelectObject(hImageDC, hBMP);
  • DoubleBuffering . . . . 3 matches
          m_MemDC.SelectObject(&m_MemBitmap);
          m_BackgroundDC.SelectObject(&m_BackgroundBitmap);
          m_ShuttleDC.SelectObject(m_ShuttleBitmap);
         그리고, 전체 그리기 관련 루틴의 경우는 애매한데, 왜냐하면 저렇게 object 별로 그리기 루틴이 있는 경우 사람들 실수하는 것이.. 각각의 Draw에 더블버퍼링하고 또 메인 루틴부분에 더블버퍼링을 중복하는 경우가 있어서리.. (뭐. 요새는 하드웨어가 빨라서 별 속도 저하 없긴 한것 같지만.) 개인적으로는 각각의 Draw부분에는 일반적인 Blt. 그리고 Main 부분에 더블버퍼링 한번이 맞지 않을까 하는. 뭐.. 그냥 생각나서 주저리주저리. --; [[BR]]
  • EffectiveC++ . . . . 3 matches
         // stringArray에 의해 가르켜진 100개의 string object들중에 99개는 제대로 제거가 안됨.
          // for X objects fails
          static unsigned int numTanks; // object counter for tanks
          // to left-hand object
          // right-hand object
         // the Base part of a Derived object is unaffected by this assignment operator.
          ObjectID identity() const; // see also Item 36
          void push(const void *Object);
          void push(const void *Object);
  • LawOfDemeter . . . . 3 matches
         within our class can we just starting sending commands and queries to any other object in the system will-
         What that means is that the more objects you talk to, the more you run the risk of getting broken when one
         objects than you need to either. In fact, according to the Law of Demeter for Methods, any method of an
         object should only call methods belonging to:
         any objects it created.
         any composite objects.
         Specifically missing from this list is methods belonging to objects that were returned from some other
          SortedList thingy = someObject.getEmployeeList();
         someObject holds employees in a SortedList.
          someObject.addToThingy(foo);
         Assertion. But even in C++ or Java, if you want to manually check the state of an object at some point in
  • MFC Study 2006 . . . . 3 matches
          || 9월 21일 || Class & Object 생각해보기 ||
          * 전에 배웠던 식으로 자신이 표현하고 싶은 주제를 선택해서 Class와 Object로 표현해 보세요. 문법, 코드 등 코딩에 필요한 무엇도 필요없습니다. 설계에는 정답이 없다고 말한거 기억하시죠?^^; -[상욱]
         || [송지훈] || [Class & Object 생각해보기] ||
  • MFC/Print . . . . 3 matches
         || m_bDocObject || 응용프로그램이 lPrint 인터페이스를 통하여 출력하면 TRUE로 설정되며, 그렇지 않은 경우에는 FALSE이다. ||
         || m_dwFlags || m_bDocObject가 TRUE일때만 유호. DWORD값으로 lPrint::Print에 전달된 플래그 ||
         || m_nOffsetPage || m_bDocObject가 TRUE일때만 유효. lPrint job 안에서 첫번째 페이지 offset을 준다. ||
  • MicrosoftFoundationClasses . . . . 3 matches
         Microsoft Foundation Classes 를 줄여서 부른다. 기정의된 클래스의 집합으로 Visual C++이 이 클래스들을 가반으로 하고 있다. 이 클래스 군은 MS Windows API를 래핑(Wrapping)하여서 객체지향적 접근법으로 프로그래밍을 하도록 설계되어 있다. 예전에는 볼랜드에서 내놓은 OWL(Object Windows Library)라는 것도 쓰였던 걸로 아는데... -_-; 지금은 어디로 가버렸는지 모른다. ㅋㅋ
          ''백과사전) WikiPedia:Microsoft_Foundation_Classes, WikiPedia:Object_Windows_Library ''
          * [MFC/CObject]
  • ProjectPrometheus/BugReport . . . . 3 matches
          - 자주 바뀌는 부분에 대해서 Page -> Object Mapping Code Generator 를 만들어내거나, 저 부분에 대해서는 텍스트 화일로 뺌 으로서 일종의 스크립트화 시키는 방법(컴파일을 하지 않아도 되니까), 화일로 따로 빼내는 방법 등을 생각해볼 수 있을 것 같다.
          * CauLibUrlSearchObject - POST 로 넘기는 변수들
          * CauLibUrlViewObject - POST 로 넘기는 변수들.
  • ProjectPrometheus/MappingObjectToRDB . . . . 3 matches
         고려해야 할 것 : 현재 만들어진 Logic Object 들 : Database 의 연동.
         ProjectPrometheus 는 RDB-Object 연동을 할때 일종의 DataMapper 를 구현, 적용했었다. 지금 생각해보면 오히려 일을 복잡하게 한게 아닌가 하는 생각을 하게 된다. Object Persistence 에 대해서 더 간단한 방법을 추구하려고 노력했다면 어떻게 접근했을까. --["1002"]
  • Refactoring/OrganizingData . . . . 3 matches
         == Replace Data Value with Object p175 ==
          * You have a data item that needs additional data or behavior. [[BR]] ''Turn the data item into an object.''
         http://zeropage.org/~reset/zb/data/ReplaceDateValueWithObject.gif
          * You have a class with many equal instances that you want to replace with a single object. [[BR]] ''Turn the object into a reference object.''
          * You have a reference object that is small, immutable, and awkward to manage. [[BR]] ''Turn it into a balue object.''
         == Replace Array with Object p186 ==
          * You have an array in which certain elements mean different things. [[BR]]''Replace the array with an object that has a field for each element.''
          * You have domain data available only in a GUI control, and domain methods need access. [[BR]] ''Copy the data to a domain object. Set up an observer to synchronize the two pieces of data.''
          * You need to interface with a record structure in a traditional programming environment. [[BR]]''Make a dumb data object for the record.''
          * You have a type code that affects the behavior of a class, but you cannot use subclassing. [[BR]] ''REplace the type code with a state object.''
  • SmallTalk/문법정리 . . . . 3 matches
         UndifinedObject(Object)>>doesNotUnderstand:
          * '''anObject aMessage.'''
         3 squared. "Receiver object is small integer 3."
         'abc' asUppercase. "Receiver object is string 'abc'."
         200 factorial. "Receiver object is small integer 200."
          * 선택자는 특정한 기호(하나나 둘이상의 문자, 숫자가 아님)이고, 인수가 딱 하나만 있다.(the selector is one or two non-alphanumeric characters, followed by exactly one argument object)
          "argument is the Integer object 5"
          "argument is the Integer object 20"
          * 각 키워드에 인수가 있을 때, 선택자는 하나 이상의 키워드이다.(the selector is one or more keywords, when called each keyword is followed by an argument object) -> 세번째 예시 참고
         Point x: 4 y: 200. "receiver is the object Point"
  • django . . . . 3 matches
          * [http://www.mercurytide.com/knowledge/white-papers/django-full-text-search] : Model 의 Object 에 대한 함수들 사용방법
          * [django/ModifyingObject]
          * [django/RetrievingObject]
  • 데블스캠프2008/등자사용법 . . . . 3 matches
         무엇인가 하려는 목표가 있으면, 그 목표보다 약간 낮춰서, 그러니까 자기가 할 수 있는 만큼의 목표를 잡고 목표를 달성한 뒤 이를 토대로 하여 더 큰 목표를 향하면 쉽게 목표를 달성할 수 있다는 뜻이라고 생각합니다. 다시 말해서 P(Low|Object) = P(Object) * P(High|Object) 라는거죠~
  • 오목/곽세환,조재화 . . . . 3 matches
          pDC->SelectObject(&brush);
          pDC->SelectObject(&brush);
          pDC->SelectObject(&brush);
  • 오목/재니형준원 . . . . 3 matches
          pDC->SelectObject(&black);
          pDC->SelectObject(&black);
          pDC->SelectObject(&white);
  • 정모/2011.3.7 . . . . 3 matches
          * 루비에 대해 알게 되었습니다. 매우 흥미로웠지만, 별로 실용적으로 쓸 일은 없을 것이라는 생각이 들었습니다. 좋아하던 영화들을 다른 관점에서 보고 나니 "아 그럴 수도 있군! 이거 재미있는데?"라는 생각이 들었습니다. 갑자기 새싹스터디 커리큘럼 작성에 부하가 걸리기 시작했습니다. 새로운 thread를 열어서 job을 분담하지 않는다면 timeout이 날 것 같아 걱정 중입니다. 다음 페차쿠차로 Objective-C에 대해 발표 해보아야겠습니다. - [황현]
          * Objective-C 기대된다!! OMS는 페챠쿠챠로 진행해도 좋고 다른 방식의 프리젠테이션도 좋으니 편한대로 진행해~ 내가 지난 정모에서 성현이한테 페챠쿠챠 아니라고 되게 뭐라 한 것 같은 느낌이라 덧붙임... - [김수경]
          * 루비로 만들어진 프로그램 많아요!! 대표적인 Ruby on rails랑 redmine도 있고.. 어디서는 요즘 GUI 대세는 루비라고도 하던데ㅎㅎ 루비가 별로 쓸일이 없는건 제가 루비를 잘 몰라서였습니다 하하ㅠㅠㅠ 덧)Objective-c를 아예 날잡고 세미나 하는것도 좋을거같아요 - [서지혜]
  • 진격의안드로이드&Java . . . . 3 matches
          1: invokespecial #1 // Method java/lang/Object."<init>":()V
          1: invokespecial #1 // Method java/lang/Object."<init>":()V
          1: invokespecial #1 // Method java/lang/Object."<init>":()V
  • 2dInDirect3d/Chapter1 . . . . 2 matches
          == Purpose of the IDirect3D8 Object ==
          == Creating IDirect3D8 Object ==
  • 5인용C++스터디/멀티쓰레드 . . . . 2 matches
         동기 클래스인 CSyncObject, CSemaphore, CMutex, CCriticalSection, CEvent와 동기화된 접근을 허용하는 CMultiLock과 CSingleLock이 그것이니다.
         이중 CSyncObject는 CSemaphore, CMutex, CCriticalSection, CEvent의 상위 클래스로서 직접 사용하지는 않습니다.
  • ActiveXDataObjects . . . . 2 matches
         {{|Microsoft ADO (ActiveX Data Objects) is a Component object model object for accessing data sources. It provides a layer between programming languages and databases, which allows a developer to write programs which access data, without knowing how the database is implemented. No knowledge of SQL is required to access a database when using ADO, although one can use ADO to execute arbitrary SQL commands. The disadvantage of this is that this introduces a dependency upon the database.
         마이크로소프트 ADO(ActiveX Data Objects)는 데이터 소스에 접근하려고 고안된 COM객체이다. 이것은 프로그래밍 언어와 데이터 베이스 사이의 층을 만들어준다. 이 층은 개발자들이 DB의 구현부에 신경쓰지 않고 데이터를 다루는 프로그램을 작성하도록 해준다. ADO 를 이용할 경우, 데이터베이스에 접근하기 위해서 SQL 을 알 필요는 없다. 물론, SQL 커맨드를 수행하기 위해 ADO 를 이용할 수 있다. 하지만, SQL 커맨드를 직접 이용하는 방법은 데이터베이스에 대한 의존성을 가져온다는 단점이 있다.
         {{|In the newer programming framework of .NET, Microsoft also present an upgraded version of ADO called ADO.NET, its object structure is quite different from that of traditional ADO. But ADO.NET is still not quite popular and mature till now.
  • Adapter . . . . 2 matches
         '''Adapter'''는 위에도 의미한 것과 같이 특별한(일반적 접근을 벗어난) object들을 '''client'''들이 고유의 방법('''Targets''')으로 접근하도록 해준다.
         이 다이어 그램은 단순화 시킨것이다.;그것은 개념적으로 Pluggable Adpter의 수행 방식을 묘사한다.그러나, Adaptee에게 보내지는 메세지는 상징적으로 표현되는 메세지든, 우회해서 가는 메세지든 이런것들을 허가하는 perform:을 이용하여 실제로 사용된다.|Pluggable Adpater는 Symbol로서 메세지 수집자를 가질수 있고, 그것의 Adaptee에서 만약 그것이 평범한 메세지라면 수집자인 perform에게 어떠한 시간에도 이야기 할수 있다.|예를 들어서 selector 가 Symbol #socialSecurity를 참조할때 전달되는 메세지인 'anObject socialSecurity'는 'anObject perform: selector' 과 동일하다. |이것은 Pluggable Adapter나 Message-Based Pluggable Adapter에서 메세지-전달(message-forwading) 구현되는 키이다.| Adapter의 client는 Pluggable Adapter에게 메세지 수집자의 value와 value: 간에 통신을 하는걸 알린다,그리고 Adapter는 이런 내부적 수집자를 보관한다.|우리의 예제에서 이것은 client가 'Symbol #socialSecurity와 value 그리고 '#socialSecurity:'와 'value:' 이렇게 관계 지어진 Adapter와 이야기 한는걸 의미한다.|양쪽중 아무 메세지나 도착할때 Adapter는 관련있는 메세지 선택자를 그것의 'perform:'.을 사용하는 중인 Adaptee 에게 보낸다.|우리는 Sample Code부분에서 그것의 정확한 수행 방법을 볼것이다.
  • BoaConstructor . . . . 2 matches
         UnitTest 가 있는 것만으로도 언제든지 리팩토링할 수 있다는 믿음이 있다면..~ 혼자서 프로토타입 플밍 할때는 그냥 StepwiseRefinement & UnitTest 조합도 괜찮은 것 같다. 빨리 기능을 얻은뒤 기능들 보고 중간에 CRC 해가면서 유용할만한 Object들을 추출해나가는 것도. 언제든지 Object 뽑아낼 자신이 있으니까.
  • Button/영동 . . . . 2 matches
          Object res =
          new Object[] { "2-1", "2-2", "2-3" },
  • COM/IUnknown . . . . 2 matches
         virtual HRESULT QueryInterface(REFIID riid, void** ppvObject) = 0;
         HRESULT (*QueryInterface) (IUnknown *This, REFIID *This, REFIID riid, void** ppvObject);
  • CleanCode . . . . 2 matches
         var array = stringObject.match(/regexp/); // if there is no match, then the function returns null, if not returns array.
          * Returning emtpy object (Javascript) {{{
         var array = stringObject.match(/regexp/) || []; // if the function returns null, then substitute empty array.
  • ComponentObjectModel . . . . 2 matches
         {{|Component Object Model, or COM, is a Microsoft technology for software componentry. It is used to enable cross-software communication and dynamic object creation in many of Microsoft's programming languages. Although it has been implemented on several platforms, it is primarily used with Microsoft Windows. COM is expected to be replaced to at least some extent by the Microsoft .NET framework. COM has been around since 1993 - however, Microsoft only really started emphasizing the name around 1997.
         There exists a limited backward compatibility in that a COM object may be used in .NET by implementing a runtime callable wrapper (RCW), and .NET objects may be used in COM objects by calling a COM callable wrapper. Additionally, several of the services that COM+ provides, such as transactions and queued components, are still important for enterprise .NET applications.
         [COM] [MFC/ObjectLinkingEmbedding]
  • ConvertAppIntoApplet/영동 . . . . 2 matches
          Object res =
          new Object[] { "2-1", "2-2", "2-3" },
  • CubicSpline/1002/GraphPanel.py . . . . 2 matches
          def plotGraph(self, dc, aFuncObject, aColor):
          y = aFuncObject.perform(x)
  • CxxTest . . . . 2 matches
         단점이 있다면 테스트 상속이 안된다는 점이다. 개인적으로 MockObject 만들어 인터페이스 테스트 만든뒤 RealObject 를 만들어 테스트하는 경우가 많은 만큼 귀찮다. (테스트의 중복으로 이어지므로) 어흑.
  • DPSCChapter1 . . . . 2 matches
         Welcome to ''The Design Patterns Smalltalk Companion'' , a companion volume to ''Design Patterns Elements of Reusable Object-Oriented Software'' by Erich Gamma, Richard Helm, Ralph Johnson, and Jogn Vlissides(Gamma, 1995). While the earlier book was not the first publication on design patterns, it has fostered a minor revolution in the software engineering world.Designers are now speaking in the language of design patterns, and we have seen a proliferation of workshops, publications, and World Wide Web sites concerning design patterns. Design patterns are now a dominant theme in object-oriented programming research and development, and a new design patterns community has emerged.
         ''The Design Patterns Smalltalk Companion'' 의 세계에 오신걸 환영합니다. 이 책은 ''Design Patterns Elements of Reusable Object-Oriented Software''(이하 DP) Erich Gamma, Richard Helm, Ralph Johnson, and Jogn Vlissides(Gamma, 1995). 의 편람(companion, 보기에 편리하도록 간명하게 만든 책) 입니다. 앞서 출간된 책(DP)이 디자인 패턴에 관련한 책에 최초의 책은 아니지만, DP는 소프트웨어 엔지니어링의 세계에 작은 혁명을 일으켰습니다. 이제 디자이너들은 디자인 패턴의 언어로 이야기 하며, 우리는 디자인 패턴과 관련한 수많은 workshop, 출판물, 그리고 웹사이트들이 폭팔적으로 늘어나는걸 보아왔습니다. 디자인 패턴은 객체지향 프로그래밍의 연구와 개발에 있어서 중요한 위치를 가지며, 그에 따라 새로운 디자인 패턴 커뮤니티들이 등장하고 있습니다.(emerge 를 come up or out into view 또는 come to light 정도로 해석하는게 맞지 않을까. ''이제 디자인 패턴은 객체지향 프로그래밍의 연구와 개발에 있어서 중요한 위치를 가지고 있으며, 디자인 패턴 커뮤니티들이 새로이 등장하고 있는 추세입니다.'' 그래도 좀 어색하군. -_-; -- 석천 바꿔봤는데 어때? -상민 -- DeleteMe)gogo..~ 나중에 정리시 현재 부연 붙은 글 삭제하던지, 따로 밑에 빼놓도록 합시다.
         ''Design Patterns'' describes 23 design patterns for applications implemented in an object-oriented programming language. Of course, these 23 patterns do not capture ''all'' the design knowledge an object-oriented designer will ever need. Nonetheless, the patterns from the "Gang of Four"(Gamma et al.) are a well-founded starting point. They are a design-level analog to the base class libraries found in Smalltalk development environments. They do not solve all problems but provide a foundation for learning environments. They do not solve all problems but provide a foundation for learning about design patterns in general and finding specific useful architectures that can be incorporated into the solutions for a wide variety of real-world design problems. They capture an expert level of design knowledge and provide the foundation required for building elegant, maintainable, extensible object-oriented programs.
         Learning an object-oriented language after programming in another paradigm, such as the traditional procedural style, is difficult. Learning to program and compose application in Smalltalk requires a complex set of new skills and new ways of thinking about problems(e.g Rosson & Carroll, 1990; Singley, & Alpert, 1991). Climbing the "Smalltalk Mountain" learning curve is cetainly nontrivial. Once you have reached that plateau where you feel comfortable building simple Smalltalk applications, there is still a significant distance to the expert peak.
          * Recurring patterns of object configurations and interactions and the sorts of problems for which these cooperating objects provide (at least partial) solutions
         Design patterns also provide a succinct vocabulary with which to describe new designs and retrospectively explain existing ones. Patterns let us understand a design at a high level before drilling down to focus on details. They allow us to envision entire configurations of objects and classes at a large grain size and communicate these ideas to other designers by name. We can say, "Implement the database access object as a Singleton," rather than, "Let's make sure the database access class has just one instance. The class should include a class variable to keep track of the singl instance. The class should make the instance globally available but control access to it. The class should control when the instance is created and ..." Which would you prefer?
         But the ''Smalltalk Companion'' goes beyond merely replicating the text of ''Design Patterns'' and plugging in Smalltalk examples whereever C++ appeared. As a result, there are numerous situations where we felt the need for additional analysis, clarification, or even minor disagreement with the original patterns. Thus, many of our discussions should apply to other object-oriented languages as well.
  • DPSCChapter3 . . . . 2 matches
          Vechile과 CarPart는 Object 클래스의 서브 클래스이다. 물론, 이 클래스 구조는 많은 단계에서 전체적으로 단순화된다.
          함수를 재 정의한다. 그래서 우리는 Object를 상속한 새로운 하위 구조를 추가한다.
          "Create the top-level part, the car object which starts out having no subcomponents, and add an engine, body, etc."
  • DesignPatternsAsAPathToConceptualIntegrity . . . . 2 matches
         A comment from Carriere and Kazman at SEI is interesting: “What Makes a Good Object Oriented Design?”
         · The existence of an architecture, on top of any object/class design
         The following summary is from “Design Patterns as a Litmus Paper to Test the Strength of Object-Oriented Methods” and may provide some insight:
         · How does it meet this objective?
  • DispatchedInterpretation . . . . 2 matches
         void Shape::sendCommandTo(Object& anObject)
          sendCommand(i,object);
  • Dubble_Buffering . . . . 2 matches
          pOldBitmap = memDC.SelectObject(&bitmap);
          memDC.SelectObject(pOldBitmap);
  • DylanProgrammingLanguage . . . . 2 matches
         Dylan is an advanced, object-oriented, dynamic language which supports rapid program development. When needed, programs can be optimized for more efficient execution by supplying more type information to the compiler. Nearly all entities in Dylan (including functions, classes, and basic data types such as integers) are first class objects. Additionally Dylan supports multiple inheritance, polymorphism, multiple dispatch, keyword arguments, object introspection, macros, and many other advanced features... --Peter Hinely
         Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc.
         License: Functional Objects Library Public License Version 1.0
  • Functor . . . . 2 matches
         [BuildingParserWithJava]를 보다가 12장에서 처음 접한 단어. FunctionObject를 부르는 말이다.
         A function object, often called a functor, is a computer programming construct allowing an object to be invoked or called as if it were an ordinary function, usually with the same syntax. The exact meaning may vary among programming languages. A functor used in this manner in computing bears little relation to the term functor as used in the mathematical field of category theory.
         비슷한 구현에 대해서 OO 쪽에서는 MethodObject 라 부르기도 함. (Refactoring에 나옴) 구현 모양상으로 보면 CommandPattern, C++ 진영에서는 Functor 가 일반적인 표현.; --[1002]
  • Gof/Singleton . . . . 2 matches
          self error: 'cannot create new object'
         더 이상 Singleton class 는 singleton 객체를 만들 책임이 없다. 그 대신 이제 Singleton 의 주된 책임은 시스템 내에서 선택한 singleton 객체를 접근가능하도록 해주는 것이다. static object approach는 여전히 단점이 존재한다. 모든 가능한 Singleton subclass들의 인스턴스들이 생성되어지던지, 그렇지 않으면 register되어서는 안된다는 것이다.
         class CNSingleton : public CObject
          static class CSingletonList : public CObject
  • IntentionRevealingMessage . . . . 2 matches
         class Object
          bool operator==(const Object& other)
  • JavaStudy2002/영동-3주차 . . . . 2 matches
          // primitive type 을 String(Object) 으로 변경하는 꽁수
          // primitive type 을 String(Object) 으로 변경하는 꽁수
  • JavaStudy2004/클래스상속 . . . . 2 matches
          하위클래스는 상위클래스로부터 모든 메소드와 변수들을 상속받는다.상위클래스가 필요한 행위를 정의했으면 재정의하거나 다른 클래스로부터 복사할 필요도 없다. 상속받은 클래스는 자동적으로 상위클래스의 행위를 자동적으로 가지게 된다.자바 클래스 계층의 제일 위에는 Object라는 클래스가 있다. 모든 클래스는 이 클래스로부터 상속을 받는다. 각 클래스들은 특별한 목적에 맞추어 특정 정보를 추가적으로 가지게 되는 것이다.
          예를 들어 Motorcycle클래스와 같이 Car라는 클래스를 만드는 것을 생각하자. Car와 Motorcycle은비슷한 특징들이 있다. 이 둘은 엔진에 의해 움직인다. 또 변속기와 전조등과 속도계를 가지고 있다. 일반적으로 생각하면, Object라는클래스 아래에 Vehicle이라는 클래스를 만들고 엔진이 없는 것과 있는 방식으로 PersonPoweredVehicle과 EnginePoweredVehicle 클래스를 만들 수 있다. 이 EnginePoweredVehicle 클래스는 Motorcycle, Car, Truck등등의 여러 클래스를 가질 수 있다. 그렇다면 make와 color라는 속성은 Vehicle 클래스에 둘 수 있다.
  • MFC/CObject . . . . 2 matches
         = CObject =
         MFC의 계층 구조의 최상단에 있는 클래스이다. 자바로 치자면 Object 클래스에 비슷한 클래스이다.
  • MoreEffectiveC++/Appendix . . . . 2 matches
         I generally refer to this as "the LSD book," because it's purple and it will expand your mind. Coplien covers some straightforward material, but his focus is really on showing you how to do things in C++ you're not supposed to be able to do. You want to construct objects on top of one another? He shows you how. You want to bypass strong typing? He gives you a way. You want to add data and functions to classes as your programs are running? He explains how to do it. Most of the time, you'll want to steer clear of the techniques he describes, but sometimes they provide just the solution you need for a tricky problem you're facing. Furthermore, it's illuminating just to see what kinds of things can be done with C++. This book may frighten you, it may dazzle you, but when you've read it, you'll never look at C++ the same way again. ¤ MEC++ Rec Reading, P27
         Finally, the emerging discipline of patterns in object-oriented software development (see page 123) is described in ¤ MEC++ Rec Reading, P34
          * '''''Design Patterns''''': Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Addison-Wesley, 1995, ISBN 0-201-63361-2. ¤ MEC++ Rec Reading, P35
         This book provides an overview of the ideas behind patterns, but its primary contribution is a catalogue of 23 fundamental patterns that are useful in many application areas. A stroll through these pages will almost surely reveal a pattern you've had to invent yourself at one time or another, and when you find one, you're almost certain to discover that the design in the book is superior to the ad-hoc approach you came up with. The names of the patterns here have already become part of an emerging vocabulary for object-oriented design; failure to know these names may soon be hazardous to your ability to communicate with your colleagues. A particular strength of the book is its emphasis on designing and implementing software so that future evolution is gracefully accommodated (see Items 32 and 33). ¤ MEC++ Rec Reading, P36
          * '''''Design Patterns CD''''': Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Addison-Wesley, 1998, ISBN 0-201-63498-8. ¤ MEC++ Rec Reading, P38
  • MoreEffectiveC++/C++이 어렵다? . . . . 2 matches
          * Objective C++
          [http://developer.apple.com/techpubs/macosx/ReleaseNotes/Objective-C++.html]
  • NotToolsButConcepts . . . . 2 matches
         - Object Oriented Programming (OOP)
          * Java, C#이 아닌 OOP(ObjectOrientedProgramming),AOP(AspectOrientedProgramming)
  • ObjectOrientedDatabaseManagementSystem . . . . 2 matches
         OODBMS[오오디비엠에스]는 객체로서의 모델링과 데이터 생성을 지원하는 DBMS이다. 여기에는 객체들의 클래스를 위한 지원의 일부 종류와, 클래스 특질의 상속, 그리고 서브클래스와 그 객체들에 의한 메쏘드 등을 포함한다. OODBMS의 구성요소가 무엇인지에 관해 광범위하게 합의를 이룬 표준안은 아직 없으며, OODBMS 제품들은 아직 초기에 머물러 있다고 여겨진다. 그 사이에 관계형 데이터베이스에 객체지향형 데이터베이스 개념이 부가된 ORDBMS 제품이 더욱 일반적으로 시장에 출시되었다. 객체지향형 데이터베이스 인터페이스 표준은 산업계의 그룹인 ODMG (Object Data Management Group)에 의해 개발되고 있다. OMG는 네트웍 내에서 시스템들간 객체지향형 데이터 중개 인터페이스를 표준화하였다.
         Malcolm Atkinson을 비롯한 여러 사람들이 그들의 영향력 있는 논문인 The Object-Oriented Database Manifesto에서, OODBMS에 대해 다음과 같이 정의하였다.
  • ObjectOrientedReengineeringPatterns . . . . 2 matches
         See Also Xper:ObjectOrientedReengineeringPatterns, Moa:ObjectOrientedReengineeringPatterns , StephaneDucasse
  • ObjectWorld . . . . 2 matches
         http://www.objectworld.org
         2002 년 6월 8일날 SoftwareArchitecture 에 대한 세미나가 ObjectWorld 주체로 열렸습니다.
          * http://www.objectworld.org/JavatoolsforXP1.ppt
         개인적 사정으로 참석 못한 것이 아쉽습니다. ObjectWorld는 주로 Moa:박성운 씨와 송재하씨, 그리고 김유석 씨 등의 색깔을 띄는 듯 합니다. 친자바적인 성향이나, POSA, 아키텍춰 중심 등이 그러하죠. 잡종교배를 통한 ["생각을곱하는모임"]이 되기를 바랍니다.
  • PairProgramming . . . . 2 matches
         // in GetConnectionObject.inc file
         function GetConnectionObject()
          * http://www.objectmentor.com/publications/xpepisode.htm - Robert C.Martin 과 Robert S Koss 이 대화하면서 Pair를 하는 예제.
  • ProjectPrometheus/EngineeringTask . . . . 2 matches
         || HTML Parsing 결과를 Object 로 반환 || ○ ||
         || 도서관 검색 결과 Object 로 HTML 생성 . || ○ ||
  • ProjectPrometheus/Iteration1 . . . . 2 matches
         || HTML Parsing 결과를 Object 로 반환 || 1 || ○ (1시간) ||
         || 도서관 검색 결과 Object 로 HTML 생성 . || 1 || ○ (30분) ||
  • Refactoring/BigRefactorings . . . . 2 matches
         == Convert Procedural Design to Objects ==
          * You have code written in a procedural style.[[BR]]''Turn the date records into objects, break up the behavior, and move the behavior to the objects.''
         http://zeropage.org/~reset/zb/data/ConvertProceduralDesignToObjects.gif
  • Refactoring/ComposingMethods . . . . 2 matches
         == Replace Method with Method Object p135 ==
         ''Turn the method into ints own object so that all the local variagles become fields on that object. You can then decompose the method into other methods on the same object.''
         http://zeropage.org/~reset/zb/data/ReplaceMethodWithMethodObject.gif
  • STL/참고사이트 . . . . 2 matches
         ObjectSpace 예제 : ObjectSpace는 300개가 넘는 예제를 가지고 있고, 따라서 초보자에게 아주 좋은 출발점을 제시해준다. ftp://butler.hpl.hp.com/stl/examples.zip
  • SmallTalk/강좌FromHitel/강의4 . . . . 2 matches
         객체 탐색기(object inspector)는 명령을 실행할 떄 나 글
          SmallInteger(Object)>>doesNotUnderstand:
          UndefinedObject>>{unbound}doIt
  • Spring/탐험스터디/wiki만들기 . . . . 2 matches
         Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
          * ORM(Object Relation Mapping) 프레임워크. Java persistence, EJB3.0을 같이 알면 좋다.
  • Squeak . . . . 2 matches
          * Squeak: A Quick Trip to ObjectLand
          * Squeak - Object-Oriented Design with Multimedia Application
  • TellVsAsk . . . . 2 matches
         Procedural code gets information then makes decisions. Object-oriented code tells objects to do things.
         That is, you should endeavor to tell objects what you want them to do; do not ask them questions about their state,
         The problem is that, as the caller, you should not be making decisions based on the state of the called object
         that result in you then changing the state of the object. The logic you are implementing is probably the called object's
         responsibility, not yours. For you to make decisions outside the object violates its encapsulation.
         문제점은 caller 로서, 당신은 called object 의 상태에 기반한 결정을 내리면 안된다는 것이다.
         당신이 구현하려는 logic 은 아마도 호출된 객체의 책임이지, 당신의 책임이 아니다. (여기서 you 는 해당 object 를 이용하는 client. caller) 당신이 object 의 바깥쪽에서 결정을 내리는 것은 해당 object 의 encapsulation 에 위반된다.
         object and then calling different methods based on the results. But that may not be the best way to go about doing it. Tell the object
         아마 당신은 이렇게 말할지도 모른다. "나는 그런 코드를 작성한 적이 없어!" 하지만, referenced object 의 값을 조사해서 그 결과값에 따라 각각 다른 메소드를 호출하는 식으로 적당히 구현하며 얼머무리는 경우는 흔하다.
         하지만, 이는 좋은 방법이 아니다. 당신이 원하는 일에 대해서 object 에게 시켜라. (즉, 저 행위에 대한 결정은 object 내에서 해결하게끔) object 로 하여금 어떻게 해야 할지 해결하도록 하라. 절차적이려하기 보단, 서술적이려고 하라. (이는 OOP 에서 이야기하듯, Object 들 간의 행동들에 대해서.)
         that inform you as to the state of the object.
  • UML서적관련추천 . . . . 2 matches
         출처 : ObjectProgramming 수업 게시판
         UML Distilled: A Brief Guide to the Standard Object Modeling Language,3rd Edition
  • ZeroPage_200_OK . . . . 2 matches
          * 서버에서 데이터를 가져와서 보여줘야 하는 경우에 싱글스레드를 사용하기 때문에 생기는 문제점에 대해서 배우고 이를 처리하기 위한 방법을 배웠습니다. 처음에는 iframe을 이용한 처리를 배웠는데 iframe 내부는 독립적인 페이지이기 때문에 바깥의 렌더링에 영향을 안주지만 페이지를 이동하는 소리가 나고, iframe이 서버측의 데이터를 읽어서 렌더링 해줄 때 서버측의 스크립트가 실행되는 문제점 등이 있음을 알았습니다. 이를 대체하기 위해 ajax를 사용하는데 ajax는 렌더링은 하지 않고 요청 스레드만 생성해서 처리를 하는 방식인데 xmlHttpRequest나 ActiveXObject같은 내장객체를 써서 요청 스레드를 생성한다는걸 배웠습니다. ajax라고 말은 많이 들었는데 구체적으로 어떤 함수나 어떤 객체를 쓰면 ajax인건가는 잘 몰랐었는데 일반적으로 비동기 처리를 하는거면 ajax라고 말할 수 있다고 하셨습니다. 그리고 중간에 body.innerHTML을 직접 수정하는 부분에서 문제가 생겼었는데 innerHTML을 손대면 DOM이 다시 만들어져서 핸들러가 전부 다 사라진다는 것도 기억을 해둬야겠습니다. - [서영주]
          * Browser Object Model : 자바스크립트로 Browser와 상호작용하기 위해 제공되는 API들의 집합. 공식적인 표준은 존재하지 않아서 조금씩 다를 수 있다.
  • bitblt로 투명배경 구현하기 . . . . 2 matches
         SelectObject(hdc_mask,bitmap_mask);
         DeleteObject(bitmap_mask);
  • django/Example . . . . 2 matches
         [django/ModifyingObject]
         [django/RetrievingObject]
  • java/reflection . . . . 2 matches
          * ORM(Object-Relational-MApping)이 아닌 방식으로 DAO를 만들 때 사용되기도 한다.
          Object object = helloWorld.newInstance();
          sayHello.invoke(object, null);
  • 데블스캠프2004/세미나주제 . . . . 2 matches
          * ObjectOrientedProgramming
         || 금 || OOP(ObjectOrientedProgramming) || 수민 석천이형 || ? || OOP ||
  • 데블스캠프2010/다섯째날/ObjectCraft/미션1/변형진 . . . . 2 matches
          * [wiki:데블스캠프2010/다섯째날/ObjectCraft ObjectCraft]
  • 데블스캠프2010/회의록 . . . . 2 matches
         == Object Craft (강사 : [변형진]) ==
          * Object Craft 후속 강의를 연다. -[변형진] 학우
  • 레밍즈프로젝트/박진하 . . . . 2 matches
         class CArray : public CObject
          CObject::Serialize(ar);
  • 레밍즈프로젝트/프로토타입/MFC더블버퍼링 . . . . 2 matches
          m_pMemDC->SelectObject(&m_bmp);
          m_bmp.DeleteObject();
  • 레밍즈프로젝트/프로토타입/마스크이미지 . . . . 2 matches
          oldBitmap = (CBitmap*)BitMapDC.SelectObject(&newBitmap);
          BitMapDC.SelectObject(oldBitmap);
  • 새싹교실/2012/AClass . . . . 2 matches
          * 방학 중에 스터디를 할 경우 - Class, Object + Tree, Graph
          6.Object Oriented Programming에 관해서 설명해보세요.
  • 새싹교실/2012/주먹밥 . . . . 2 matches
          * 답변 : 객체 지향 프로그래밍(Object Oriented Programming)입니다. 프로그래밍 설계 기법이죠. 전에도 얘기했듯이 프로그래밍 설계 기법은 프로그래머의 설계를 도와 코드의 반복을 줄이고 유지보수성을 늘리는데 있습니다. 하지만 생산성이 있는 프로그래머가 되고싶다면 API를 쓰고 알고리즘을 병행해서 공부해야 된다는것을 알리고 싶습니다. 그리고 단순히 Class를 쓰는것과는 다른기법입니다. 객체 지향적으로 설계된 C++이나 Java에서 Class를 쓰기때문에 Class를 쓰는것이 객체지향으로 알고있는 사람들이 많습니다. 그건... 아니죠. 절차지향 프로그래밍과 다른점은 차차 가르쳐 드리겠습니다. C에서 Class란 개념이 설계상으로 발전했는지 알려드렸습니다. 함수 포인터와 구조체였죠. 그게 원형입니다.
         자바 <-> Objective - C?
  • 오목/민수민 . . . . 2 matches
          pDC->SelectObject(&brush);
          pDC->SelectObject(&brush);
  • 오목/재선,동일 . . . . 2 matches
          pDC->SelectObject(&black);
          pDC->SelectObject(&white);
  • 졸업논문/본론 . . . . 2 matches
         [django/ModifyingObject]
         [django/RetrievingObject]
  • 코바용어정리 . . . . 2 matches
         클라이언트의 반대쪽에는 구현 객체라고 알려진 실제 객체가 있다. '구현 객체(Object Implementation)'는 실제 상태(state)와 객체의 반응 양상(behavior)을 규정하며 다양한 방식으로 구성될 수 있다. 구현 객체는 객체의 메소드와 객체에 대한 활성화 및 비활성화 프로시저를 정의한다. 구현 객체는 객체 어댑터의 도움을 받아 ORB와 상호 작용한다. 객체 어댑터는 구현 객체를 특정하게 사용하는 데에 편리하도록 ORB 서비스에 대한 인터페이스를 제공하게 된다. 구현 객체는 ORB와 상호 작용하여 그 정체를 확립하고 새로운 객체를 생성하며 ORB에 따르는 서비스를 획득할 수 있도록 한다. 새로운 객체가 생성되면 ORB에게 통보되고 이 객체의 구현이 어디에 위치하는가를 알게 된다. 호출이 발생하면 ORB, 객체 어댑터, 스켈레톤은 구현의 적절한 메소드에 대한 호출이 되도록 만들어야 한다.
         == 객체 어댑터(Object Adapter) ==
  • 토비의스프링3/오브젝트와의존관계 . . . . 2 matches
          * DAO(Data Access Object)
          getBean()메소드 : ApplicationContext가 관리하는 오브젝트를 요청하는 메소드. ""안에 들어가는 것은 ApplicationContext에 등록된 빈의 이름. 빈을 가져온다는 것은 메소드를 호출해서 결과를 가져온다고 생각하면 된다. 위에서는 userDao()라는 메소드에 붙였기 때문에 ""안에 userDao가 들어갔다. 메소드의 이름이 myUserDao()라면 "myUserDao"가 된다. 기본적으로 Object타입으로 리턴하게 되어있어서 다시 캐스팅을 해줘야 하지만 자바 5 이상의 제네릭 메소드 방식을 사용해 두 번째 파라미터에 리턴 타입을 주면 캐스팅을 하지 않아도 된다.
  • 프로그래밍잔치/SmallTalk . . . . 2 matches
         Object subclass: #HelloWorld
         Object subclass: #GuGuDan
  • 5인용C++스터디/키보드및마우스의입출력 . . . . 1 match
          WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
  • 5인용C++스터디/타이머보충 . . . . 1 match
         Project -> Settings -> Link -> Object/library modules: 에 winmm.lib 추가
  • ADO . . . . 1 match
         #Redirect ActiveXDataObjects
  • API/WindowsAPI . . . . 1 match
          WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
  • AcceleratedC++/Chapter1 . . . . 1 match
         Variable, Object, definition, local variable, destroy
  • ActiveTemplateLibrary . . . . 1 match
         {{|The Active Template Library (ATL) is a set of template-based C++ classes that simplify the programming of Component Object Model (COM) objects. The COM support in Visual C++ allows developers to easily create a variety of COM objects, Automation servers, and ActiveX controls.
  • Ajax . . . . 1 match
          * The Document Object Model manipulated through JavaScript to dynamically display and interact with the information presented
          * The XMLHttpRequest object to exchange data asynchronously with the web server. (XML is commonly used, although any text format will work, including preformatted HTML, plain text, and JSON)
  • AspectOrientedProgramming . . . . 1 match
          최근 몇 년에 걸쳐 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 절차적 방법론을 거의 완벽히 대체하며 프로그래밍 방법론의 새 주류로 떠오르게 되었다. 객체지향적 방식의 가장 큰 이점 중 하나는 소프트웨어 시스템이 여러 개의 독립된 클래스들의 집합으로 구성된다는 것이다. 이들 각각의 클래스들은 잘 정의된 고유 작업을 수행하게 되고, 그 역할 또한 명백히 정의되어 있다. 객체지향 어플리케이션에서는 어플리케이션이 목표한 동작을 수행하기 위해 이런 클래스들이 서로 유기적으로 협력하게 된다. 하지만 시스템의 어떤 기능들은 특정 한 클래스가 도맡아 처리할 수 없다. 이들은 시스템 전체를 들쑤시며 해당 코드들을 여러 클래스들에 흩뿌려 놓는다. 이런 현상을 횡단적(cross-cutting)이라 표현한다. 분산 어플리케이션에서의 락킹(locking, 동기화) 문제, 예외 처리, 로깅 등이 그 예이다. 물론 필요한 모든 클래스들에 관련 코드를 집어 넣으면 해결될 문제이다. 하지만 이런 행위는 각각의 클래스는 잘 정의된(well-defined) 역할만을 수행한다는 기본 원칙에 위배된다. 이런 상황이 바로 Aspect-Oriented Programming (AOP)이 잉태된 원인이 되었다.
  • Athena . . . . 1 match
          * Object Programming 수업의 숙제를 위한 페이지입니다
  • BNUI . . . . 1 match
         XML(Expat)->Object->Window->Control
  • Button/진영 . . . . 1 match
          Object source = evt.getSource();
  • COM . . . . 1 match
         #Redirect ComponentObjectModel
  • CORBA . . . . 1 match
         CORBA(Common Object Request Broker Architecture)는 소프트웨어 객체가 분산 환경에서 협력하여 작동하는 방식에 대한 일단의 명세서이다. 이 명세서에 대한 책임 기관은 OMG이며, 소프트웨어 업계를 대표하는 수 백 개의 회원 업체로 이루어져 있다. CORBA의 핵심부분은 ORB이다. ORB는 객체의 소비자인 클라이언트와 객체 생산자인 서버 사이에서 객체를 전달하는 일종의 버스로 생각될 수 있다. 객체의 소비자에게는 IDL이라는 언어를 이용한 객체 인터페이스가 제공되며, 객체의 생상자에 의해 제공되는 객체의 자세한 구현사항은 객체의 소비자에게는 완전히 숨겨진다.
  • CanvasBreaker . . . . 1 match
          * 2002학년도 2학기 ObjectProgramming 3번째 프로젝트
  • CeeThreadProgramming . . . . 1 match
          //WaitForSingleObject( hThread, INFINITE );
          // Destroy the thread object.
  • CodeCoverage . . . . 1 match
         CodeCoverage 는 Software Testing 에서 사용하는 측정 도구중의 하나이다. 프로그램이 테스트된 소스 코드의 정도를 기술한다. 이는 다른 대다수의 다른 테스트 메소드와 다른다. 왜냐하면 CodeCoverage 는 소프트웨어 기능, Object interface 과 같은 다른 측정 방법에 비하여 source code를 직접 보기 ㅤㄸㅒㅤ문이다.
  • CrcCard . . . . 1 match
         See Also Moa:CrcCard , ResponsibilityDrivenDesign, [http://c2.com/doc/oopsla89/paper.html aLaboratoryForTeachingObject-OrientedThinking]
  • DOM . . . . 1 match
         #redirect DocumentObjectModel
  • DelegationPattern . . . . 1 match
         ObjectOrientedProgramming 을 할때 자주 쓰이는 코딩 스타일. 아마 사람들이 무의식중에 자주 쓸 것이다.
  • DesigningObjectOrientedSoftware . . . . 1 match
         Object 의 ClassResponsibiltyCollaboration 에 대한 개념이 잘 설명되어있는 책.
  • DesktopDecoration . . . . 1 match
         = Object Dock =
  • DevelopmentinWindows/APIExample . . . . 1 match
          wcex.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
         // Next default values for new objects
  • DirectDraw/APIBasisSource . . . . 1 match
          wc.hbrBackground = (HBRUSH) (GetStockObject(BLACK_BRUSH));
  • DirectDraw/Example . . . . 1 match
          wcex.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH);
  • DocumentObjectModel . . . . 1 match
         Document Object Model (DOM) is an application programming interface to access HTML and XML documents. It is programming language and platform independent. Behind the interface the document is represented with an object-oriented model.
  • EightQueenProblem/용쟁호투 . . . . 1 match
         $PBExportComments$Generated Application Object
  • ExtremeProgramming . . . . 1 match
          * ["Metaphor"] : Object Naming 과 프로그램의 해당 수행에 대한 커뮤니케이션의 가이드 역할을 해줄 개념의 정의.
          * http://objectmentor.com - Robert Martin 의 글들. OOP 관련 기사들도 많음.
  • Favorite . . . . 1 match
         [http://www.objectworld.org ObjectWorld]
  • FocusOnFundamentals . . . . 1 match
         I would advise students to pay more attention to the fundamental ideas rather than the latest technology. The technology will be out-of-date before they graduate. Fundamental ideas never get out of date. However, what worries me about what I just said is that some people would think of Turing machines and Goedel's theorem as fundamentals. I think those things are fundamental but they are also nearly irrelevant. I think there are fundamental design principles, for example structured programming principles, the good ideas in "Object Oriented" programming, etc.
  • Garbage collector for C and C++ . . . . 1 match
         # objects should have been explicitly deallocated, and reports exceptions.
         # of objects to be recognized. (See gc_priv.h for consequences.)
         # causes all objects to be padded so that pointers just past the end of
         # an object can be recognized. This can be expensive. (The padding
         # -DJAVA_FINALIZATION makes it somewhat safer to finalize objects out of
         # finalize.c). Objects reachable from finalizable objects will be marked
         # kind of object. For the incremental collector it makes sense to match
         # for objects allocated with the debugging allocator. If all objects
         # to determine how particular or randomly chosen objects are reachable
         # -DDBG_HDRS_ALL Make sure that all objects have debug headers. Increases
         # -DSHORT_DBG_HDRS Assume that all objects have debug headers. Shorten
         # the headers to minimize object size, at the expense of checking for
         # writes past the end of an object. This is intended for environments
         # (Also eliminates the field for the requested object size.)
         # -DSAVE_CALL_COUNT=<n> Set the number of call frames saved with objects
         # altered stubborn objects, at substantial performance cost.
         # that include a pointer to a type descriptor in each allocated object).
         # -DSTUBBORN_ALLOC allows allocation of "hard to change" objects, and thus
  • Gof/Command . . . . 1 match
         Menu는 쉽게 Command Object로 구현될 수 있다. Menu 의 각각의 선택은 각각 MenuItem 클래스의 인스턴스이다. Application 클래스는 이 메뉴들과 나머지 유저 인터페이스에 따라서 메뉴아이템을 구성한다. Application 클래스는 유저가 열 Document 객체의 track을 유지한다.
  • Gof/Composite . . . . 1 match
         A typical Composite object structure might look like this:
         CompositePattern의 예는 거의 모든 객체지향 시스템에서 찾을 수 있다. Smalltalk 의 Model/View/Container [KP88] 의 original View 클래스는 Composite이며, ET++ (VObjects [WGM88]) 이나 InterViews (Styles [LCI+92], Graphics [VL88], Glyphs [CL90])등 거의 대부분의 유저 인터페이스 툴킷과 프레임워크가 해당 과정을 따른다. Model/View/Controller 의 original View에서 주목할만한 점은 subview 의 집합을 가진다는 것이다. 다시 말하면, View는 Component class 이자 Composite class 이다. Smalltalk-80 의 Release 4.0 은 View 와 CompositeView 의 서브클래스를 가지는 VisualComponent 클래스로 Model/View/Controller 를 변경했다.
  • Gof/Mediator . . . . 1 match
         Object-Oriented 디자인은 객체들 사이의 행위 분산을 장려한다. 그런 분산은 객체들 사이에 많은 연관을 지닌 객체 구조로 나타날 수 있다. 최악의 경우에는 모든 객체가 결국 모든 다른 객체들을 알게 된다.
         다음 object diagram은 run-time에 application의 snapshot을 보여주고 있다.
  • Gof/State . . . . 1 match
         Objects for States
          * State objects can be shared.
          * Creating and destroying State objects.
  • Gof/Strategy . . . . 1 match
          * Borland's ObjectWindows - dialog box. validation streategies.
  • Gof/Visitor . . . . 1 match
         object structure 의 element들에 수행될 operation 을 표현한다. [Visitor]는 해당 operation이 수행되는 element의 [class]에 대한 변화 없이 새로운 operation을 정의할 수 있도록 해준다.
          - declares a Visit operations for each class of ConcreteElement in the object structure. The operation's name and signature identifies the class that sends the Visit request to the visitor. That lets the visitor determine the concrete class of the element being visited. Then the visitor can access the element directly through its particular interface.
          - implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates result during the traversal of the structure.
          * ObjectStructure (Program)
  • HanoiProblem/임인택 . . . . 1 match
          Object lastObj = discsAtPillar.lastElement();
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 1 match
         상속이란, 기존에 만들어 놓은 객체들로 부터 모든 변수와 메소드를 물려 받아 새로운 객체를 만들 수 있다는 것을 뜻한다. 즉, 새프로그램을 만들 때 기존의 자료를 이용해(상속받아) 새롭게 정의하여 사용한면 된다는 것이다. 이로인해 부수적으로 프로그래밍의 노력이 줄고 시간 단축되며 그리고 OOP의 가장 중요한 재사용성(Reusability) 얻을 수 있다. 델파이는 TObject라는 최상위 객체로부터 상속시켜 단계적으로 하위 객체들을 생성해 만들어진 구조를 지니고 있다.
  • HeadFirstDesignPatterns . . . . 1 match
         {{{Erich Gamma, IBM Distinguished Engineer, and coauthor of "Design Patterns: Elements of Reusable Object-Oriented Software" }}}
  • HowManyZerosAndDigits/임인택 . . . . 1 match
          private HowManyZerosAndDigits object;
          object = new HowManyZerosAndDigits(0, 0);
          assertEquals(1, object.factorial(1));
          assertEquals(2, object.factorial(2));
          assertEquals(6, object.factorial(3));
          assertEquals(24, object.factorial(4));
          object = new HowManyZerosAndDigits(0, 0);
          assertEquals(0, object.howManyZeros(1));
          assertEquals(1, object.howManyZeros(10));
          assertEquals(2, object.howManyZeros(100));
          assertEquals(2, object.howManyZeros(1010));
         // object = new HowManyZerosAndDigits(120, 16);
         // assertEquals(2, object.convertNumber());
         // object = new HowManyZerosAndDigits(120, 10);
         // assertEquals(3, object.convertNumber());
          Object arr[] = numbers.toArray();
  • HowToStudyXp . . . . 1 match
          * Surviving Object-Oriented Projects (Alistair Cockburn) : 얇고 포괄적인 OO 프로젝트 가이드라인
          * [http://groups.google.co.kr/groups?dq=&num=25&hl=ko&lr=&ie=UTF-8&newwindow=1&group=comp.object&start=0 news:comp.object]
  • ISBN_Barcode_Image_Recognition . . . . 1 match
          * 영상을 두 가지 색으로만 표현하여, Object 인식을 용이하게 하기 위함
  • Java Script/2011년스터디/박정근 . . . . 1 match
          person=new Object();
  • Java Study2003/첫번째과제/곽세환 . . . . 1 match
         객체지향적이다(Object-Oriented):
  • Java Study2003/첫번째과제/노수민 . . . . 1 match
          * 객체지향적이다(Object-Oriented):
  • Java Study2003/첫번째과제/방선희 . . . . 1 match
          * Object Oriented Language (객체지향언어)
          * Java를 이용해 재사용 가능한 object를 만들 수 있다. 이 object는 향후 다른 프로그램내에서 그냥 재사용 가능하다. 강력한 Java의 재사용성은 Java가 가지고 있는 장점 중에서도 가장큰 장점이라고 말할 수 있다.
  • Java Study2003/첫번째과제/장창재 . . . . 1 match
         객체지향적이다(Object-Oriented):
  • Java/숫자와문자사이변환 . . . . 1 match
          Object를 int 타입으로 형변환 하기 ... 바로 안되므로 String으로 바꾼후 int로 형변환 한다.
  • JavaScript/2011년스터디/CanvasPaint . . . . 1 match
          alert("Can't find Canvas Objective!");
  • JavaScript/2011년스터디/JSON-js분석 . . . . 1 match
          * str함수 내에서 object, object array등을 처리할때 재귀적으로 들여쓰기를 처리해준다. 디테일이 살아있어
         if (Object.prototype.toString.apply(value) === '[object Array]') {
          * str function에서 'string', 'number', 'boolean', 'null' 은 모두 string로 변환한다. 그런데 'object'의 NULL은 뭐지??
  • JavaScript/2011년스터디/박정근 . . . . 1 match
          person=new Object();
  • JavaScript/2011년스터디/서지혜 . . . . 1 match
         /* TypeError: Object 0 has no method 'namespace' */
  • JavaStudy2003/두번째과제/곽세환 . . . . 1 match
          객체(Object)
  • Linux/디렉토리용도 . . . . 1 match
          * /etc/CORBA : Common Object Request Broker Architecture (COBRA)에 관한 파일이 들어있음.
  • MFC/ObjectLinkingEmbedding . . . . 1 match
         OLE 컨테이너, 서버 사이의 통신은 윈도우 운영체제를 매개로 동작한다. 각 OLE 를 지원하는 프로그램은 공통의 OLE DLL을 가지는데 이 것이 윈도우의 기본지원 부분이다. DLL 안의 함수들은 이렇게 객체사이의 통신을 지원한다. 이때 이를 지원하는 표준적인 인터페이스가 COM(Component Object Model)이다. 본질적으로 엠비드된 객체의 모양과 컨테이너가 그것과 통신하는 방법을 정의한것이다.
  • MFCStudy_2001/MMTimer . . . . 1 match
          Project(P) - Setting(S, ALT+F7)을 눌러 Link탭의 Object/Library modules:란에 winmm.lib를 적어줍니다.
  • MFCStudy_2001/진행상황 . . . . 1 match
          * 이상한 점2 : 울집에선 잘 돌아간단 말얏! 왜 딴집에선 안 돌아가는 거시야..ㅠ.ㅠ 리소스 새는 걸 어떻게 잡지.. DeleteObject 다 해줬고.. 힝..ㅠ.ㅠ * 그외 : 상협이한테 줘서 테스트 해봤는데요. 처음엔 잘되다가 중간부터 공이 잔상이 생긴다네요. 그리고 상민이형 왈, 오래 놔두면 너네 집에서도 뻗을거야 라는 말씀에 한시간 동안 틀어놔봤거든요. 별다른 변화를 못 느끼겠어여--; 도대체 어떻게 잡을지..ㅠ.ㅠ
  • Memo . . . . 1 match
         //Project -> Setting -> LINK 메뉴 -> Object/library modules: 의 끝부분에 ws2_32.lib 를 추가한다.
  • MineFinder . . . . 1 match
          383.392 0.2 383.392 0.2 85245 CDC::SelectObject(class CBitmap *) (mfc42d.dll)
  • MockObject . . . . 1 match
         #redirect MockObjects
  • MySQL/PasswordFunctionInJava . . . . 1 match
          String result = String.format("%08x%08x",new Object[]{new Integer(result1),new Integer(result2)});
  • NumericalAnalysisClass . . . . 1 match
         ''Object-Oriented Implementation of Numerical Methods : An Introduction with Java and Smalltalk'', by Didier H. Besset.
  • OOD세미나 . . . . 1 match
         = Object-Oriented Design 세미나 =
  • ObjectProgrammingInC . . . . 1 match
         = Object Programming In C =
  • PhotoShop2003 . . . . 1 match
          * 2-2 Object Programming 마지막 레포트
  • ProjectAR/CollisionCheck . . . . 1 match
         * 기본적으로는 비트맵을 읽어서 텍스쳐르 변환할것이므로, 기본적인 Object는 사각형이다.
  • ProjectAR/Temp . . . . 1 match
          - CMapObject : 맵 곳곳에 놓이게 될 오브젝트
  • ProjectPrometheus/Iteration5 . . . . 1 match
         || Object-RDB Relation 을 위한 Gateway 작성 || 1 || . ||
  • ProjectPrometheus/Iteration6 . . . . 1 match
         || Object-RDB Relation 을 위한 Gateway 작성 || 1 || . ||
  • ProjectSemiPhotoshop . . . . 1 match
         2002년 2학기 Object Programming 과목 ''' 상민,경태,현민 ''' 조의 프로젝트 페이지 입니다.
  • ProjectVirush/Prototype . . . . 1 match
         //Project -> Setting -> LINK 메뉴 -> Object/library modules: 의 끝부분에 ws2_32.lib 를 추가한다.
  • PythonMultiThreading . . . . 1 match
         Python 에서는 2가지 thread interface 를 제공한다. 하나는 C 스타일의 API 를, 하나는 Java 스타일의 Thread Object를.
  • RandomWalk2 . . . . 1 match
          * ObjectOrientedProgramming에서 이 문제를 처음 소개했다.
  • Refactoring/MovingFeaturesBetweenObjects . . . . 1 match
         = Chapter 7 Moving Features Between Objects =
         A client is calling a delegate class of an object.
  • Refactoring/SimplifyingConditionalExpressions . . . . 1 match
          * You have a conditional that chooses different behavior depending on the type of and object [[BR]] ''Move each leg of the conditional to an overriding method in a subclass. Make the orginal method abstract.''
         == Introduce Null Object ==
          * You have repeated checks for a null value[[BR]] ''Replace the null value with a null object.''
  • STL/Miscellaneous . . . . 1 match
          * vector<Object*> 이런식으로 동적 생성하는 객체의 레퍼런스를 위한 포인터를 컨테이너에 넣을때는 추후 포인터가 가리키는 객체를 직접 delete 해줘야 한다.
  • SingletonPattern . . . . 1 match
         SingletonPattern 은 남용할 경우 위험하다. 여전히 Global object 이기 때문이다. 즉, Singleton 을 이용하는 모든 모듈은 Singleton Object 와 관계를 맺고 있는 것이 된다.
  • StaticInitializer . . . . 1 match
         문제는 StaticInitializer 부분에 대해서 상속 클래스에서 치환을 시킬 수 없다는 점이다. 이는 꽤 심각한 문제를 발생하는데, 특히 Test 를 작성하는중 MockObject 등의 방법을 사용할 때 StaticInitializer 로 된 코드를 치환시킬 수 없기 때문이다. 저 안에 의존성을 가지는 다른 객체를 생성한다고 한다면 그 객체를 Mock 으로 치환하는 등의 일을 하곤 하는데 StaticInitialzer 는 아에 해당 클래스가 인스턴스화 될때 바로 실행이 되어버리기 때문에 치환할 수 없다.
  • StephaneDucasse . . . . 1 match
         OORP(ObjectOrientedReengineeringPatterns) 의 저자중 한명.
  • StructureAndInterpretationOfComputerPrograms . . . . 1 match
         소프트웨어개발에서 중요한 개념중 하나인 Abstraction 에 대해 제대로 배울 수 있을 것이다. 그리고 Modularity, Objects, and State 등.
  • TestDrivenDatabaseDevelopment . . . . 1 match
         [1002]의 경우 TDD 로 DB 부분을 만들때 어떻게 진행될까 궁리하던중 두가지를 실험해보았다. 보통은 TDD로 DB 부분을 만들때 DB Repository 부분에 대해서 MockObject 를 만들지만, 다음은 Mock 을 안만들고 작성해봤다. 어떤 일이 일어날까를 생각하며.
  • TestSuiteExamples . . . . 1 match
          suite.addTestSuite(QueryObjectTest.class);
  • TheJavaMan/숫자야구 . . . . 1 match
          public static void processEvent(Object aSource){
  • UDK/2012년스터디 . . . . 1 match
          * 도데체 Point Object는 어떻게 만드는겨 - (책 설명에 따르면.. 그림과 같이 발의 뒤쪽을 뷰포트에서 클릭해 Point 오브젝트를 만듭니다.... 뭐 어쩌라고)
  • UML . . . . 1 match
         In software engineering, Unified Modeling Language (UML) is a non-proprietary, third generation modeling and specification language. However, the use of UML is not restricted to model software. It can be used for modeling hardware (engineering systems) and is commonly used for business process modeling, organizational structure, and systems engineering modeling. The UML is an open method used to specify, visualize, construct, and document the artifacts of an object-oriented software-intensive system under development. The UML represents a compilation of best engineering practices which have proven to be successful in modeling large, complex systems, especially at the architectural level.
         This diagram describes the structure of a simple Restaurant System. UML shows [[Inheritance_(computer_science)|Inheritance]] relationships with a [[triangle]]; and containers with [[rhombus|diamond shape]]. Additionally, the role of the relationship may be specified as well as the cardinality. The Restaurant System has any number of Food dishes(*), with one Kitchen(1), a Dining Area(contains), and any number of staff(*). All of these objects are associated to one Restaurant.
         This diagram describes the sequences of messages of the (simple) Restaurant System. This diagram represents a Patron ordering food and wine; drinking wine then eating the food; finally paying for the food. The dotted lines extending downwards indicate the timeline. The arrows represent messages (stimuli) from an actor or object to other objects. For example, the Patron sends message 'pay' to the Cashier. Half arrows indicate asynchronous method calls.
         Above is the collaboration diagram of the (simple) Restaurant System. Notice how you can follow the process from object to object, according to the outline below:
         A Collaboration diagram models the interactions between objects in terms of sequenced messages. Collaboration diagrams represent a combination of information taken from [[#UML_Class Diagram|Class]], [[#UML_Sequence_Diagram|Sequence]], and [[#UML_Use_Case_Diagram|Use Case Diagrams]] describing both the static structure and dynamic behavior of a system.
         However, collaboration diagrams use the free-form arrangement of objects and links as used in Object diagrams. In order to maintain the ordering of messages in such a free-form diagram, messages are labeled with a chronological number and placed near the link the message is sent over. Reading a Collaboration diagram involves starting at message 1.0, and following the messages from object to object.
         Another problem is that UML doesn't apply well to distributed systems. In such systems, factors such as serialization, message passing and persistence are of great importance. UML lacks the ability to specify such things. For example, it is not possible to specify using UML that an object "lives" in a [[server]] process and that it is shared among various instances of a running [[process]].
  • UML/CaseTool . . . . 1 match
         The UML diagram notation evolved from elderly, previously competing notations. UML diagrams as a means to draw diagrams of - mostly - [[Object-oriented programming|object oriented]] software is less debated among software developers. If developers draw diagrams of object oriented software, there is widespread consensus ''to use the UML notation'' for that task. On the other hand, it is debated, whether those diagrams are needed at all, on what stage(s) of the software development process they should be used and whether and how (if at all) they should be kept up-to date, facing continuously evolving program code.
  • UnixSocketProgrammingAndWindowsImplementation . . . . 1 match
         Project -> Setting -> LINK 메뉴 -> Object/library modules: 의 끝부분에 ws2_32.lib 를 추가한다.
  • VisualStudio . . . . 1 match
          * Object/library(개체/라이브러리) 모듈 부분에서 라이브러리 파일 이름을 추가합니다.
  • WOWAddOn/2011년프로젝트/초성퀴즈 . . . . 1 match
         Frame 타입에 따라 생성되는게 달라진다 "EditBox","Button"등 UIObject를 String 타입으로 넣어 설정해주면 타입이 결정된다
         http://www.wowwiki.com/UIOBJECT_Frame
  • XpWeek . . . . 1 match
         http://www.mockobjects.com/MocksObjectsPaper.html
  • ZeroPageServer/old . . . . 1 match
          - 개강할 임새가 되니까.. 슬슬 네트웍이 말썽을 부리려는 기미를 보이기 시작하는건가요.. 작년 ObjectProgramming 숙제하면서 피씨실 사용할때 일정시각만 되면 네트워크가 먹통이 되어가지구 적잖이 난감했었는데... - [임인택]
  • [Lovely]boy^_^/Diary/2-2-1 . . . . 1 match
          * ObjectProgramming Report 나옴.(모자이크 만들어오기, until 9/12), 관련 자료 수집.
  • eXtensibleStylesheetLanguageTransformations . . . . 1 match
         XSLT was produced as a result of the Extensible Stylesheet Language (XSL) development effort within W3C during 1998–1999, which also produced XSL Formatting Objects (XSL-FO) and the XML Path Language, XPath. The editor of the first version (and in effect the chief designer of the language) was James Clark. The version most widely used today is XSLT 1.0, which was published as a Recommendation by the W3C on 16 November 1999. A greatly expanded version 2.0, under the editorship of Michael Kay, reached the status of a Candidate Recommendation from W3C on 3 November 2005.
  • iPhoneProgramming/2012년프로젝트 . . . . 1 match
          * 이때까지 Objective-C를 얼마나 배웠는가, XCode에 대한 이해, iPhoneProgramming에 대한 이해를 공유해봄.
  • snowflower . . . . 1 match
         ||CanvasBreaker||ObjectProgramming Project|| _ ||
  • snowflower/Arkanoid . . . . 1 match
         Object Programming의 일환으로 Arkanoid(벽돌깨기)를 제작하고 있습니다ㅏ.
  • 객체지향분석설계 . . . . 1 match
          영제 : Object Oriented Analysis and Design
  • 객체지향용어한글화토론 . . . . 1 match
          * 'oriented'라는 단어가 사전에서는 '지향'이라고 설명되어 있지만, 그 고어적인 뜻은 '비롯되다', '해가 뜨는', '출현하는', '발생하기 시작하는' 이라는 뜻을 가지고 있습니다. 따라서 'Object oriented'라는 용어는 '객체에서 비롯된다'라고 해석할 수 있지요. 저는 이것이 좀 더 정확한 해석이라고 생각합니다. - [http://garden.egloos.com/10001141/post/20974] - 출처
  • 경시대회준비반/BigInteger . . . . 1 match
         // Private Constructor which provides a new BigInteger Object
  • 고한종 . . . . 1 match
          * 근데 이거 덕분에 JAVA로 작업할때는 모든 것을 얕은 복사라고 생각해야 한다는 것을 발견함. 아니 ArrayList에서 빼고 싶어서 빼버리라고 하면, 다른 ArrayList에서도 빠져버리는 건데?! (Objective-C 처럼 말하자면, release를 원했는데 dealloc이 되어버림.) 결국 그냥 모든 대입문에 .clone을 붙였더니 메모리 폭발, 속도 안습. - [고한종], 13년 3월 16일
  • 구구단/Leonardong . . . . 1 match
         Object subclass: #NameOfSubclass
  • 구구단/조재화 . . . . 1 match
         Object subclass: #Gugudan
  • 김희성/MTFREADER . . . . 1 match
          case 0x50://Object ID
  • 데블스캠프2002 . . . . 1 match
         || 6월 27일 || 목요일 || 강석천 || ObjectOrientedProgrammingSeminar ||
  • 데블스캠프2002/날적이 . . . . 1 match
          * 일부러 문법쪽에 대한 정통적인 설명을 배제하긴 했음. 뭐.. 그정도만 해도 디자인 타임때 디자인한 객체를 구현하는데 문제 없을 것 같고 해서. 졸지도 않고 끝까지 둘이서 같이 이야기하면서 플밍 하는 모습이 보기 좋았던 거 같아. 그리고 요구사항 추가내용인 바퀴벌레 2마리일때와 2차원 판이 아닌 3차원 직육면체를 돌아다닐때에 대해서 StructuredProgramming 과 ObjectOrientedProgramming 을 하여 비교하면 문제점 면에서 그 차이를 확실히 알 수 있을것임. --석천
  • 데블스캠프2005/주제 . . . . 1 match
         [Refactoring], [TestDrivenDevelopment], [STL], [ObjectOrientedProgramming],
  • 데블스캠프2010/다섯째날/ObjectCraft/미션1/강소현 . . . . 1 match
         Describe 데블스캠프2010/다섯째날/ObjectCraft/미션1/강소현 here
  • 데블스캠프2010/다섯째날/ObjectCraft/미션1/김정욱 . . . . 1 match
         Describe 데블스캠프2010/다섯째날/ObjectCraft/미션1/김정욱 here
  • 데블스캠프2010/다섯째날/ObjectCraft/미션1/박재홍 . . . . 1 match
         Describe 데블스캠프2010/다섯째날/ObjectCraft/미션1/박재홍 here
  • 데블스캠프2010/다섯째날/ObjectCraft/미션2/강소현 . . . . 1 match
         Describe 데블스캠프2010/다섯째날/ObjectCraft/미션2/강소현 here
  • 데블스캠프2010/다섯째날/후기 . . . . 1 match
         = ObjectCraft(강사: 변형진) =
  • 데블스캠프2012/첫째날/후기 . . . . 1 match
          * 만약 이번 데블스 캠프에서 Object를 주제로 진행하게 된다면 적절한 복습이 될 것 같네요.
  • 디자인패턴 . . . . 1 match
          * http://www.econ.kuleuven.ac.be/tew/academic/infosys/Members/Snoeck/litmus2.ps - Design Patterns As Litmus Paper To Test The Strength Of Object Oriented Methods
  • 무엇을공부할것인가 . . . . 1 match
         - Object Oriented Programming (OOP)
  • 변준원 . . . . 1 match
          wc.hbrBackground = (HBRUSH) (GetStockObject(WHITE_BRUSH));
  • 상협/Diary/7월 . . . . 1 match
          * Designing Object-Oriented Software 이책이랑 Refactoring 책 빌려야징..
  • 상협/Diary/8월 . . . . 1 match
          * Designing Object-Oriented Software 이책 다보기 Failure (집에 내려가서 해야징.)
  • 새싹교실/2012/세싹 . . . . 1 match
          AttributeObjectId = 0x40,
  • 수업평가 . . . . 1 match
         ||ObjectModelingClass || . || . || . || . || . || . ||. ||
  • 임인택/내손을거친책들 . . . . 1 match
          * ObjectOrientedReengineeringPatterns
  • 임인택/삽질 . . . . 1 match
          - ToDo : StaticObject 의 소멸시점 알아봐야지. 클래스일 경우와 구조체일 경우. Java, C++
  • 정모 . . . . 1 match
         ||||2023.09.20||[방석현]||||||||Rust - Object Oriented Programming with Rust||[정모/2023.09.20/참석자]||
  • 정모/2011.10.5 . . . . 1 match
          * AOP(Aspect-Oriented Programming)은 트랜잭션 처리 등 핵심기능은 아니지만 코드에 포함되어 유지보수를 어렵게 하는 부가기능을 분리해내는 패러다임으로 OOP(Object-Oriented Programming)를 대체하는 것은 아니고 보완하는 역할을 한다.
  • 제13회 한국게임컨퍼런스 후기 . . . . 1 match
          * 3일차에는 1일차에 그래픽 부분을 들으면서 프로그래밍과 큰 연관성을 찾지 못한 까닭에 프로그래밍 위주로 찾아 다니기로 했다. 하지만, 원래 들으려고 했던 ‘좋은 게임을 최고로 만들어 주는 요소 분석’ 파트를 들으려 했으나 갑자기 잠수를 타 버리는 바람에 급하게 언리얼 엔진 주제 쪽으로 넘어갔다. 모바일 게임과 관련한 이야기를 하면서 온라인 게임과는 비용, 기간 등 많은 차이가 발생하는 것에 대해서 이야기 했다. 그러면서 아티스트들은 제발 쓸데없는 자존심 버리고 게임이 잘 돌아가게 해 달라는 요구를 하시던.. 하기야 콘솔 게임 정도 되어야 그래픽에 많은 부분 신경 쓸 수 있겠다만 모바일은 화면도 작고 하니.. 라는 생각이 들었다. 결국 메모리를 줄이기 위해 Object를 나누어 Module 사용을 해라는 이야기로 마무리 지어졌다.
  • 제로페이지의장점 . . . . 1 match
         학풍이라는 것이 있다. 집단마다 공부하는 태도나 분위기가 어느 정도 고유하고, 이는 또 전승되기 마련이다. 내가 1학년 때('93) ZeroPage에서 접했던 언어들만 보면, C 언어, 어셈블리어, 파스칼, C++ 등 경계가 없었다. 친구들을 모아서 같이 ''Tao of Objects''라는 당시 구하기도 힘든 "전문" OOP 서적을 공부하기도 했다. 가르쳐줄 사람이 있었고 구하는 사람이 있었으며 함께할 사람이 있었다. 이 학풍을 이어 나갔으면 한다. --JuNe
  • 졸업논문/요약본 . . . . 1 match
         Web environment has became a standalone platform. Object-oriented languages, such as python, are suitable for web. Django is a web application framework written by python, and helps web developers writting web application more agile by abstracting database. Django provides high level abstraction on database, higher than CLI which uses ODBC. Django, for instance, creates database tables when developer writes classes in python, and modifies tables when developer modifies classes in python. In addition, django helps developers using database on host-language(python) level by abstracting insertion, deletion, update, retrieving of recodes to class method. Therefore, web developers make programs more agile.
  • 즐겨찾기 . . . . 1 match
         [http://www.objectworld.org ObjectWorld]
  • 창섭/Arcanoid . . . . 1 match
          * 학교 Object Programming 숙제. -_-;;
  • 타도코코아CppStudy/0724/선희발표_객체지향 . . . . 1 match
         || 프로그램을 기능단위로 세분 || 프로그램을 object 단위로 세분 ||
          * 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위한 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 한명은 부산에 가려고 하고 한명은 대구에 오려고 한다.
         1. 객체지향 분석(object-oriented anaysis : OOA)
         객체 모형(object model) : 객체들과 그 특성을 식별하여 객체들의 정적 구조(static structure)와 그들간의 관계(interface)를 보여주는 객체 다이어그램(object diagram)을 작성한다.
         2. 객체지향 설계(object-oriented design : OOD)
         객체 설계(object design) : 구현에 필요한 상세한 내역을 설계 모형으로 제작하고 상세화된다. 구체적인 자료구조와 알고리즘 들이 정의된다.
         3. 객체지향 구현(object-oriented programming : OOP)
         설계 모형을 특정 프로그램 언어로 번역하는 작업이다. 객체, 클래스, 상속의 개념을 다 포용하는 객체지향 언어(object-oriented programming language : C++, Smalltalk 등)가 가장 좋지만 객체의 개념만 인정하고 클래스, 상속 등은 고려하지 않은 객체기반 언어(object-oriented based programming language : Ada 등)도 좋다.
  • 타도코코아CppStudy/객체지향발표 . . . . 1 match
         || 프로그램을 기능단위로 세분 || 프로그램을 object 단위로 세분 ||
          * 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위한 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 한명은 부산에 가려고 하고 한명은 대구에 오려고 한다.
         1. 객체지향 분석(object-oriented anaysis : OOA)
         객체 모형(object model) : 객체들과 그 특성을 식별하여 객체들의 정적 구조(static structure)와 그들간의 관계(interface)를 보여주는 객체 다이어그램(object diagram)을 작성한다.
         2. 객체지향 설계(object-oriented design : OOD)
         객체 설계(object design) : 구현에 필요한 상세한 내역을 설계 모형으로 제작하고 상세화된다. 구체적인 자료구조와 알고리즘 들이 정의된다.
         3. 객체지향 구현(object-oriented programming : OOP)
         설계 모형을 특정 프로그램 언어로 번역하는 작업이다. 객체, 클래스, 상속의 개념을 다 포용하는 객체지향 언어(object-oriented programming language : C++, Smalltalk 등)가 가장 좋지만 객체의 개념만 인정하고 클래스, 상속 등은 고려하지 않은 객체기반 언어(object-oriented based programming language : Ada 등)도 좋다.
  • 토비의스프링3/밑줄긋기 . . . . 1 match
          * hamcrest.CoreMatchers에 대해서 : CoreMatcher로 테스트 코드를 만들 때 null 값은 비교나 not을 사용하는 것이 불가능합니다(ex. assertThat(tempObject, is(null)); -> 에러). 이건 null이 값이 아니기 때문인데, CoreMatcher에서 null 값을 쓸 때는 org.hamcrest.CoreMatchers의 notNullValue()와 nullValue()를 사용하시면 되겠습니다. http://jmock.org/javadoc/2.5.1/org/hamcrest/CoreMatchers.html
Found 273 matching pages out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 0.4586 sec