《精通Python设计模式》学习结构型之享元模式
生活随笔
收集整理的這篇文章主要介紹了
《精通Python设计模式》学习结构型之享元模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個我日常當中也沒有用到過,
真的是游戲行業用得多些?
學習一下,
有個印象。
import random from enum import EnumTreeType = Enum('TreeTye', 'apple_tree cherry_tree peach_tree')class Tree:pool = dict()def __new__(cls, tree_type):obj = cls.pool.get(tree_type, None)if not obj:obj = object.__new__(cls)cls.pool[tree_type] = objobj.tree_type = tree_typereturn objdef render(self, age, x, y):print('render a tree of type {} and age {} at ({}, {})'.format(self.tree_type, age, x, y))def main():rnd = random.Random()age_min, age_max = 1, 30min_point, max_point = 0, 100tree_counter = 0for _ in range(10):t1 = Tree(TreeType.apple_tree)t1.render(rnd.randint(age_min, age_max),rnd.randint(min_point, max_point),rnd.randint(min_point, max_point))tree_counter += 1for _ in range(3):t2 = Tree(TreeType.cherry_tree)t2.render(rnd.randint(age_min, age_max),rnd.randint(min_point, max_point),rnd.randint(min_point, max_point))tree_counter += 1for _ in range(5):t3 = Tree(TreeType.peach_tree)t3.render(rnd.randint(age_min, age_max),rnd.randint(min_point, max_point),rnd.randint(min_point, max_point))tree_counter += 1if __name__ == '__main__':main()轉載于:https://www.cnblogs.com/aguncn/p/9419943.html
總結
以上是生活随笔為你收集整理的《精通Python设计模式》学习结构型之享元模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单的防盗链技术(过滤器原理)
- 下一篇: websocket python爬虫_p