저는 회사의 소프트웨어 제품을위한 새로운 아키텍처를 설계하고 있습니다. 나는 단위 테스트에 상당히 새로운 것이다. 싱글 톤과 정적 메소드의 사용에 관한 몇 가지 공포 이야기를 읽었지 만, 문제를 명확하게 이해하지 못하고 있고, 일부 깨달음에 감사 할 것입니다. PHP 정적 메서드/싱글 톤 패턴
내가 다중 계층 구조를 가지고 : 여기 내가 뭐하는 거지입니다. 서버 측 레벨에서 "핸들러"라고하는 데이터베이스 테이블을 나타 내기 위해 일련의 재사용 가능한 객체를 사용하고 있습니다. 이러한 핸들러는 XMLObjects, XMLTables, 다른 Datastructures 등과 같은 다른 객체를 사용합니다. 대부분이 사전 포장 된 객체가 아니라 직접 만든 객체입니다. 어쨌든,이 계층의 맨 위에 의사 단일 계층이 있습니다. 이것의 주요 목적은 더 높은 수준의 서버 측 코드를 단순화하고 완벽한 클래스 관리를 작성하는 것입니다. 나는 말할 수있다 :$tablehandler = databasename::Handler('tablename')
... 테이블을 얻으려고. 나는 이것에 내재 된 문제를 보지 못했다. 다른 객체의 인스턴스를 포함하기 위해 핸들러 스택 (연관 배열)을 사용하고 있습니다. 전역을 사용하지 않고 있으며 모든 정적 데이터 멤버는 보호되거나 비공개입니다. 내 질문은 어떻게이 단위 테스트 문제를 일으킬 수 있습니다. 나는 왜곡 수사학을 찾고 있지 않다. 나는 인과 관계를 찾고있다. 나는 또한 이것에 대한 다른 통찰력을 주셔서 감사합니다. 나는이 시점에서 매우 유연하고 효율적인 아키텍처 인 것처럼 느낍니다. 여기에 도움이 될 것입니다.
당신은 정말로 공백을 좋아하지 않습니다 .... – Baba
그것은 실제로 멋진 디자인 패턴입니다. 싱글 톤 토론으로 도우를 도울 수는 없지만 확실히 혁신적인 생각이 분명합니다. –
가장 큰 차이점은 [인터페이스] (http://php.net/manual/en/language.oop5.interfaces.php) – Ohgodwhy