반응형

singleton 2

[Python] Singleton Pattern을 이용한 Logger 만들기

들어가며 이번에 설명할 내용은 metaclass를 이용해 SingletonType의 class를 생성하고, 생성한 패턴을 이용해 실제로 사용하는 방법에 대해서 설명을 하려고 합니다. 일단 Singleton이라하면 두개 이상의 객체를 만드는 것을 제한하여, 한 클래스가 하나의 객체를 생성하는 것을 말한다. 다른 클래스에서는 하나의 객체를 이용하기 때문에 어디서든지 사용 가능한 객체를 만드는 경우에 사용한다. 저 같은 경우에는 가장 많이 쓰는 패턴이 아닌가 싶습니다. 안드로이드에서도 예를 들면 ListView를 구현할때 데이터를 관리하기 위해서 Singleton을 사용하기도 했습니다. 하지만 가장 많이 써본 경험은 하나의 역할을 하는데, 그 역할이 어느 곳에서든 사용할 수 있도록 하기 위함입니다. Logge..

Programming/Python 2016.08.11

[Python] Python Singleton Pattern

들어가며 Design Pattern 중 필요에 의해 자주 사용하는 singleton pattern에 대해서 알아보려고 합니다. Python에서는 Singleton Pattern을 구현하는 방법이 4가지가 있습니다. get_instance와 __init__을 제공하는 방법, main, inner class를 구현하는 방법, decorator를 이용하는 방법(decorator도 하나의 디자인 패턴을 말하는데, 기능 확장이 필요할 때 서브 클래싱 대신에 사용을 합니다.), 마지막으로 가장 많이 사용하는 metaclass를 이용하는 방법입니다. 아무래도 구현하는 방법이 4가지가 있다는 얘기를 해석하면, 한 클래스에서 하나의 객체를 생성하도록 제한을 할 수 있는 방법이 4가지가 있다고 생각하시면 됩니다. 1 .g..

Programming/Python 2016.05.23
반응형