2008-01-23から1日間の記事一覧

Employee.cs

class Employee: # Visitor::ConcreteElement def __init__(self, name, salary, vDays, sDays): self.name = name self.salary = salary self.sickDays = sDays self.vacDays = vDays def accept(self, v): source = "v.visit_%s(self)"%self.__class__.__n…

ListAdapter_Form.py

Windows Forms アプリケーションとして、IronPython で実現した事例を紹介します。 # -*- coding: utf-8 -*- #=============================================================================== # Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部 # # …

《参考文献》

C# Design Patterns 14. The Adapter Pattern.

2008年1月23日(水)

C#.use(better, IronPython="GoF") 《記事一覧》 Adapter〈Windows Forms〉ListAdapter -- pay a tribute to "C# Design Patterns" by James William Cooper 《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部第1版♪2008/01/15 ● 改訂♪2008/10/29

__main__

if __name__ == "__main__": print __file__,"ver.1.1" form = Visitor_Forms() form.Text = form.__class__.__name__ Application.Run(form)

Form1.cs

class Visitor_Forms(Form): # Visitor::ObjectStructure def __init__(self, **args): self.InitializeComponent() self.init() def init(self): self.empls = # Employee for e in [ Employee("Susan Bear", 55000, 12, 1), Employee("Adam Gehr", 150000,…

bVacationVisitor.cs

class bVacationVisitor(Visitor): # Visitor::ConcreteVisitor def __init__(self): self.totalDays = 0 def visit_Employee(self, emp): # visit(Employee emp) self.totalDays += emp.vacDays def visit_Boss(self, bos): # visit(Boss bos) self.totalDa…

VacationVisitor.cs

class VacationVisitor(Visitor): # Visitor::ConcreteVisitor def __init__(self): self.totalDays = 0 def visit_Employee(self, emp): # visit(Employee emp) self.totalDays += emp.vacDays def visit_Boss(self, bos): # visit(Boss bos) self.totalDay…

Visitor.cs

class Visitor: # abstract # Visitor::Visitor def visit_Employee(self, emp): raise NotImplementedError("%s.visit_Employee" %self.__class__.__name__) def visit_Boss(self, bos): raise NotImplementedError("%s.visit_Boss" %self.__class__.__name…

Boss.cs

class Boss(Employee): # Visitor::ConcreteElement def __init__(self, name, salary, vdays, sdays, bonusDays=None): Employee.__init__(self, name, salary, vdays, sdays) self.bonusDays = bonusDays def accept(self, v): source = "v.visit_%s(self)…