<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ~~~ /* Bridge 橋接模式: 將抽象部分與它的實現部分分離,使它們都可以獨立地變化 個人想法:組合/聚合復用原則 作者: HCLAC 日期: 20170306 */ package bridge import ( "fmt" ) type Phone struct { soft ISoftware name string } func (p *Phone) setSoft(soft ISoftware) { if p == nil { return } p.soft = soft } func (p *Phone) Run() { if p == nil { return } fmt.Println(p.name) p.soft.Run() } type PhoneA struct { Phone } func NewPhoneA(name string) *PhoneA { return &PhoneA{Phone{name: name}} } type PhoneB struct { Phone } func NewPhoneB(name string) *PhoneB { return &PhoneB{Phone{name: name}} } type ISoftware interface { Run() } type TSoftware struct { ISoftware } type Software struct { name string } type SoftwareA struct { Software } func (s *Software) Run() { if s == nil { return } fmt.Println(s.name) } type SoftwareB struct { Software } /*func (s *SoftwareB) Run() { if s == nil { return } fmt.Println(s.name) }*/ ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看